PythonGetWebTitle (adquisición de lotes Título del sitio web)

Recientemente escribió un guión get título página web por lotes, el guión es lenta no es práctico, una gran cantidad de errores, precaución! El foso principal es un resumen pisado cuando la práctica módulo.

Fuente de la siguiente manera:

las solicitudes de importación 
importar argparse 
import re 


bcolors clase: 
    CABECERA = '\ 033 [95m' 
    OKBLUE = '\ 033 [94m' 
    OKGREEN = '\ 033 [92m' 
    ADVERTENCIA = '\ 033 [93m' 
    FALLO = '\ 033 [91m' 
    ENDC = '\ 033 [0m' 
    = BOLD '\ 033 [1m' 
    UNDERLINE = '\ 033 [4m' 

def parser_args (): 
    analizador = argparse.ArgumentParser () 
    parser.add_argument ( "- f", "- archivo", help = "指定dominio文件") 
    # parser.add_argument ( "- f", "- archivo", ayuda = "指定dominio文件", action = "store_true")不可控
    parser.parse_args de retorno () 

def httpheaders (url ):
    proxies = { 
    'http': 'http://127.0.0.1:8080' 
    } 
    cabeceras = {
        'Conexión': 'cerca', 
        'Upgrade-inseguros-Solicitudes': '1', 
        'User-Agent': 'Mozilla / 5.0 (Windows NT 10,0; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 57,0. 2987.110 Safari / 537.36' , 
        'Aceptar': 'text / html, application / xhtml + xml, application / xml; q = 0,9, image / webp, * / *; q = 0,8', 
        'Accept-Encoding': 'gzip , deflate, SDCH, br', 
        'Accept-Language': 'zh-CN, zh; q = 0,8', 
    } 
    requests.packages.urllib3.disable_warnings () 
    res = requests.get (url, proxies = proxies, cabeceras = cabeceras, timeout = 10, verificar = False) 
    res.encoding = res.apparent_encoding 
    cabeza = res.headers 
    # print ('[+] Url: '+ url,' '+' Content-Type: '+ cabeza [' Content-Type '])
    title = re.findall ( "<title> (*) </ title>.", res.text, re.IGNORECASE) [0] .strip () 
        FileOpen (a)
    imprimir (bcolors.OKGREEN + '[+] url:' + url, ' '+' título: '+ título +' longitud: '+ cabeza [' Content-Length'] + bcolors.ENDC) 
    
def FILEOPEN (filename): 
    con abierto (nombre de archivo, 'r') como obj: 
        para adomain en obj.readlines (): 
            adomain = adomain.rstrip ( '\ n')             
            tratar: 
                httpheaders (adomain) 
            excepto excepción como e: 
                impresión (bcolors.WARNING + '[+ ] '+ + adomain "basura Conectar" + bcolors.ENDC) 
                
si __name__ == "__main__": 
    try: 
        abc = vars (parser_args ()) 
        a = abc [ 'archivo'] 
    excepto FileNotFoundError como e: 
        print ('目录下无该文件'+ A)

 

El foso escalonado:

1. Enviar una solicitud a través de las solicitudes HTTPS python3, la autenticación se ha apagado (comprobar = False), la salida de la consola voluntad los siguientes errores:

 

InsecureRequestWarning: No verificado solicitud HTTPS se está haciendo. Se recomienda encarecidamente la adición de verificación de certificados. Ver: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

línea de comandos que vea este mensaje, el trastorno obsesivo-compulsivo puede ser doloroso.

Solución: Añadir requests.packages.urllib3.disable_warnings antes de ejecutar código ()

 

2. En relación con el uso del módulo argparse:

parser_args DEF (): 
    Analizador = argparse.ArgumentParser () # crear ArgumentParser) Objeto ( 
    parser.add_argument ( "- f", " - archivo", ayuda = " dominio archivo especificado") # sobre todo para ver el segundo argumento - el valor de autoría -file archivo de clave, por ejemplo: aaa-f, archivo, entonces el valor es 'AAA' 
    # parser.add_argument ( "- F", "- archivo", = Ayuda "archivo de dominio especificado", action = " store_true ") no controlados 
    parser.parse_args de retorno ()

Supongo que te gusta

Origin www.cnblogs.com/devapath/p/12446259.html
Recomendado
Clasificación