Red de conocimiento informático - Material del sitio web - Cómo usar Python para implementar un rastreador que salte automáticamente a páginas para capturar contenido web en el marco scrapy

Cómo usar Python para implementar un rastreador que salte automáticamente a páginas para capturar contenido web en el marco scrapy

Scrapy es un Crawler Framework escrito en Python, que es simple, liviano y muy conveniente. Scrapy utiliza Twisted, una biblioteca de red asíncrona, para manejar las comunicaciones de red. Tiene una arquitectura clara y contiene varias interfaces de middleware, que pueden satisfacer de manera flexible diversas necesidades. La arquitectura general de Scrapy se muestra en la siguiente figura:

De acuerdo con el diagrama de arquitectura, presentaremos los componentes principales y sus funciones en Scrapy:

Scrapy Engine (motor): Responsable de controlar el flujo de datos en el sistema. Todos los componentes fluyen y desencadenan eventos cuando ocurren las acciones correspondientes.

Programador: recibe solicitudes del motor y las pone en cola para que se puedan proporcionar al motor cuando el motor solicita la solicitud.

Downloader (Downloader): Responsable de obtener los datos de la página y proporcionárselos al motor, para luego proporcionárselos al Spider.

Spider: una clase escrita por usuarios de Scrapy para analizar la Respuesta y extraer el Artículo (es decir, el Artículo obtenido) o una URL de seguimiento adicional. Cada araña es responsable de manejar un sitio web específico (o algunos).

Item Pipeline: Responsable de procesar los Items extraídos por Spider. El procesamiento típico incluye limpieza, verificación y persistencia (por ejemplo, almacenarlo en una base de datos. El almacenamiento en MySQL se presentará más adelante en esta parte. Otras bases de datos son similares).

Middlewares del descargador (middlewares del descargador): es un gancho especial (enganche especial) entre el motor y el descargador, que procesa la respuesta pasada por el descargador al motor. Proporciona un mecanismo simple para extender la funcionalidad de Scrapy mediante la inserción de código personalizado (más adelante presentaremos algunas configuraciones y activaciones intermedias para lidiar con los anti-rastreadores).

Middleware Spider (Middlewares Spider): es un gancho especial (gancho especial) entre el motor y Spider, que maneja la entrada (respuesta) y salida (Elementos, Solicitudes) de Spider. Proporciona un mecanismo simple para ampliar la funcionalidad de Scrapy mediante la inserción de código personalizado.