Compartir tecnología

Scrapy escribe rastreadores

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scrapy es un marco de Python para rastrear datos de sitios web y extraer información estructurada

1. Introducción a Scrapy

1.motor
– El motor de Scrapy es el núcleo para controlar el flujo de datos y desencadenar eventos. Gestiona las solicitudes enviadas por el Spider y las respuestas recibidas, además de procesar los Items generados por el Spider. El motor es la fuerza impulsora detrás del funcionamiento de Scrapy.

2.Programador
– El planificador es responsable de recibir las solicitudes enviadas por el motor y ponerlas en cola de acuerdo con ciertas políticas (como prioridad, profundidad, etc.). Cuando el motor necesita una nueva solicitud, el programador toma la solicitud de la cola y la devuelve al motor. Garantiza el procesamiento ordenado de las solicitudes.

3. Descargador
– El descargador es responsable de descargar contenido web en función de las solicitudes enviadas por el motor Scrapy. Utiliza el protocolo HTTP para comunicarse con el servidor del sitio web y devuelve el contenido de la página web descargada al motor Scrapy como respuesta. El descargador es el componente principal de Scrapy para obtener datos de páginas web.

4. Arañas
– Las arañas son componentes de Scrapy que se utilizan para definir la lógica de rastreo y analizar el contenido de la página web.Generan solicitudes iniciales basadas en reglas definidas y procesan la respuesta devuelta por el descargador para extraer los datos requeridos (Elemento) o generar una nueva solicitud (Solicitud) para un mayor rastreo.

5. Tuberías de artículos
– Los Item Pipelines son responsables de procesar los Items extraídos por Spider. Pueden realizar diversas tareas, como limpiar datos, verificar la integridad de los datos y almacenar datos en bases de datos o archivos. Al definir múltiples Pipelines, los datos se pueden procesar de manera flexible para satisfacer diferentes necesidades.

6. Middleware de descarga
– El middleware de descarga se encuentra entre el motor Scrapy y el descargador y se utiliza para manejar solicitudes y respuestas. Pueden modificar la solicitud (como agregar encabezados de solicitud, configurar servidores proxy, etc.) o la respuesta (como el procesamiento de compresión, el procesamiento de redirección, etc.), controlando así cómo Scrapy interactúa con el sitio web. El middleware es un mecanismo importante para que Scrapy amplíe su funcionalidad.

7. Medios de araña
– El middleware Spider se encuentra entre el motor Scrapy y Spiders y se utiliza para procesar la entrada (es decir, la respuesta) y la salida (es decir, elementos y nuevas solicitudes) de Spider. Pueden modificar o descartar respuestas, manejar excepciones e incluso modificar o descartar elementos y solicitudes generados por arañas. El middleware Spider proporciona la capacidad de insertar funciones personalizadas durante la ejecución de Spider.

El flujo de datos entre cada componente se muestra en la figura:
Insertar descripción de la imagen aquí

  • A partir de la URL inicial, el Programador la entregará al Descargador para que la descargue.
  • Después de la descarga, se entregará a Spider para su análisis.
  • Hay dos tipos de resultados analizados por Spider:
  • Uno son los enlaces que deben rastrearse más a fondo, como los enlaces de la "página siguiente", que se devolverán al Programador;
  • El otro son los datos que deben guardarse, que se envían a Item Pipeline para su posprocesamiento (análisis detallado, filtrado, almacenamiento, etc.)

2. Instalar scrapy

pip install scrapy