Sitio web de resúmenes de películas - Bellezas de anime - ¿Qué libros se recomiendan, desde conceptos básicos de Python hasta rastreadores?

¿Qué libros se recomiendan, desde conceptos básicos de Python hasta rastreadores?

Objetivos

Introducción a Scrapy

Scrapy es un marco de aplicación escrito para rastrear datos de sitios web y extraer datos estructurados. Se puede utilizar en una variedad de programas que incluyen extracción de datos, procesamiento de información o almacenamiento de datos históricos.

Utilice el proceso para crear un proyecto Scrapy, defina la escritura del elemento de extracción, la araña que rastrea el sitio web y la canalización del elemento de escritura del elemento de extracción para almacenar los elementos de extracción (es decir, datos).

La siguiente figura muestra la arquitectura de Scrapy, incluida una descripción general de los componentes y el flujo de datos en el sistema (que se muestra con la flecha verde). A continuación se muestra una breve introducción a cada componente con enlaces a información detallada. El flujo de datos se describe a continuación.

Paste_image.png

Paquete

El motor Scrapy es responsable de controlar el flujo de datos en todos los componentes del sistema y desencadenar eventos cuando ocurren las acciones correspondientes. Consulte la sección Flujo de datos a continuación para obtener más detalles. Programador El programador acepta solicitudes del motor y las pone en cola para que puedan entregarse al motor cuando el motor las solicite más adelante. Descargador El descargador es responsable de obtener los datos de la página y proporcionárselos al motor y luego a la araña. SpidersSpider es una clase escrita por usuarios de Scrapy para analizar respuestas y extraer elementos (es decir, elementos obtenidos) o URL para un seguimiento adicional. Cada araña es responsable de manejar uno o varios sitios web específicos. Consulte Araña para obtener más detalles. Item PipelineItem Pipeline es responsable de procesar los elementos extraídos por la araña. El procesamiento típico incluye limpieza, validación y persistencia (como acceder a una base de datos). Consulte la cartera de proyectos para obtener más detalles. Middleware de descarga El middleware de descarga es un enlace específico entre el motor y el descargador que maneja las respuestas pasadas por el descargador al motor. Proporciona un mecanismo simple para ampliar las funciones de Scrapy mediante la inserción de código personalizado. Consulte Middleware de descarga para obtener más detalles. Spider Middleware Spider Middleware es un enlace específico entre el motor y el spider que maneja las entradas (respuestas) y salidas (entradas y solicitudes) del spider. Proporciona un mecanismo simple para ampliar las funciones de Scrapy mediante la inserción de código personalizado. Consulte el middleware Spider para obtener más detalles.

Tres: Análisis de caso

1. Después de ingresar la última expresión de graffiti desde la página de inicio del sitio web, la URL es mediana y es necesario agregar contenido. XPath ('//img/@ datos-original '). extract () [i] Devuelve una lista (es decir, la lista que viene con el sistema), que contiene parte del contenido extraído, [i] Filename =' doutu \ {} '. format(item['name']) item['img_url'][-4:] se usa para obtener el nombre de la imagen. El último elemento ['img_URL'][-4:] es para obtener los últimos cuatro dígitos. de la dirección de la imagen para garantizar que los diferentes formatos de archivo utilicen sus propios sufijos. Lo último es que (referidor: Ninguno) aparecerá si la coincidencia xpath es incorrecta.

4. Configure settings.py. Si desea rastrear más rápido, configure CONCURRENT_REQUESTS más grande y DOWNLOAD_DELAY más pequeño. O 0. #-*-encoding: utf-8-*-bot_name = ' scrapy doutu ' spider_modules = [' scrapy doutu. arañas ']new spider_module = ' scrapy doutu. Downloader_middleware de Spider = {

5. Configure middleware.py con la configuración de UA en la configuración. Puede seleccionar UA aleatoriamente durante la descarga, lo que tiene un cierto efecto anti-prohibición. Agregue el siguiente código basado en el código original.

El user_agent_list aquí puede agregar más. importación aleatoria desde scrapy. downloadermiddleware. importación del agente de usuario clase UserAgentMiddleware RotateUserAgentMiddleware(UserAgentMiddleware):

6. ¡Entonces comencemos!

Imagen de pelea trepando con cabeza de espina

Después de eso, puedes ver que el agente de usuario se modificó durante la descarga.

Cinco: Resumen

Me encontraré con muchos obstáculos al aprender a utilizar Scrapy, pero el potente sistema de búsqueda no me hará sentir solo. Entonces siento que Scrapy sigue siendo muy poderoso e interesante, y continuaré aprendiendo otros aspectos de Scrapy en el futuro.

Grupo para agregar direcciones de Github

Si encuentra algún problema durante el proceso de aprendizaje o desea obtener recursos de aprendizaje, puede unirse al grupo de intercambio de aprendizaje.

¡Aprendamos Python juntos!