Ajax se arrastran calle de combate disparar titulares de Mito

Tomado de: la estática buscar  >>  [A Python 3 rastreador Web de combate desarrollado] 6.4 Análisis de rastreo con AJAX titulares de hoy venció la calle Mito

 

 

 El artículo anterior en varias áreas clave, registrada:

  • clase de habilidades

  Después de revisar la Web, seleccione Comprobar --network, y luego aclaramos todas las solicitudes de información, actualizar la página, la primera página de esta solicitud es la columna vertebral de este tiempo, el código básico en el mismo, pero los datos puede ser una petición Ajax en la prestación de JS van, esta vez los datos de la página que queremos ver replicado en ficha Vista previa Respuesta de Administración de la red para buscar a través de, si existe la consecuencia solicitamos directamente a la página, usted quiere ser capaz de conseguir la información, si no, los datos son por la petición, se carga el modo de representación, donde tenemos que analizar los datos de petición de enlace, en primer lugar en modo de búsqueda se conecta a xhr, la petición de actualización, la interceptación está aquí para ajax solicitud, si es necesario para ver donde los datos, tal como existe, analiza el modo de solicitud, los datos pueden ser adquiridos JSON.

  Las necesidades fugaz de la calle, aunque el análisis de la solicitud Ajax, pero el cifrado encabezado de la solicitud algo allí, es posible que desee leer la primera parte del código fuente js a la grieta, por lo que las siguientes secciones no escriben su propio código

  • clases de código
    • El procesamiento, la construcción de carpetas, seleccione el nombre del archivo de la imagen
      . 1  Importación OS
       2  # hashlib - efecto MD5 a la imagen un nombre de una, repetir las dos imágenes se pueden tomar 
      . 3  de hashlib importación MD5
       . 4  
      . 5  
      . 6  DEF save_image (artículo):
       . 7      # acumulación de una carpeta para almacenar imágenes 
      . 8      SI  No os.path.exists (item.get ( ' titulo ' )):
       . 9          os.mkdir (item.get ( ' titulo ' ))
       10      el try :
       . 11          Respuesta = requests.get (item.get ( ' imagen ' ))
       12 es          si== 200 es response.status_code :
       13 es              # almacenamiento path configurado imagen 
      14              FILE_PATH = ' {0} / {{2}} 1.. ' .Formato (item.get ( ' título ' ), MD5 (response.content) .hexdigest (), ' JPG ' )
       15              SI  No os.path.exists (ruta_archivo):
       16                  # contenido solicitado datos de vuelta es binaria, se puede escribir directamente en el archivo wb 
      17.                  con Open (ruta_archivo, ' wb ' ) como F :
       18 es                      f.write (response.content)
       19.              la otra cosa :
       20 es                  de impresión (' Ya descargados ' , ruta_archivo)
       21      , excepto requests.ConnectionError:
       22          de impresión ( ' Error al guardar imagen ' )
    • Procesar el uso de la piscina de múltiples procesos
      . 1  de multiprocessing.pool importación piscina
       2  
      3.  
      4.  DEF principal (offset):
       . 5      JSON = la get_page (offset)
       6.      Para artículo en get_images (JSON):
       . 7          de impresión (Elemento)
       . 8          save_image (artículo)
       . 9  
      10  # variables fijas que tratamos mayúsculas variables utilizando almacenamiento para programación paramétrica 
      . 11 . GROUP_START 1 =
       12 es GROUP_END = 20 es
       13 es  
      14  SI  el __name__ == ' __main__ ' :
       15      # grupo de subprocesos abierto 
      16     = La piscina Pool ()
       . 17      Grupos = ([X * 20 es para X en Rango (GROUP_START, GROUP_END +. 1 )])
       18 es  
      . 19      # de la piscina es el método más importante mapa, los datos se asigna a la lista de procesos 
      20 es      pool.map (principales, grupos)
       21 es      pool.close ()
       22 es      pool.join ()

Supongo que te gusta

Origin www.cnblogs.com/waws1314/p/12502404.html
Recomendado
Clasificación