Partage de technologie

Scrapy écrit des robots d'exploration

2024-07-11

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

Scrapy est un framework Python pour explorer les données de sites Web et extraire des informations structurées

1. Introduction à Scrapy

1.Moteur
– Le moteur de Scrapy est au cœur du contrôle du flux de données et du déclenchement d’événements. Il gère les requêtes envoyées par le Spider et les réponses reçues, ainsi que le traitement des Items générés par le Spider. Le moteur est la force motrice du fonctionnement de Scrapy.

2. Planificateur
– Le planificateur est chargé de recevoir les requêtes envoyées par le moteur et de les mettre en file d'attente selon certaines politiques (telles que la priorité, la profondeur, etc.). Lorsque le moteur a besoin d'une nouvelle requête, le planificateur extrait la requête de la file d'attente et la renvoie au moteur. Il assure le traitement ordonné des demandes.

3. Téléchargeur
– Le téléchargeur est responsable du téléchargement du contenu Web en fonction des requêtes envoyées par le moteur Scrapy. Il utilise le protocole HTTP pour communiquer avec le serveur du site Web et renvoie le contenu de la page Web téléchargée au moteur Scrapy en réponse. Le téléchargeur est le composant principal de Scrapy pour obtenir les données des pages Web.

4. Les araignées
– Les araignées sont des composants de Scrapy utilisés pour définir la logique d'exploration et analyser le contenu des pages Web.Ils génèrent des requêtes initiales basées sur des règles définies et traitent la réponse renvoyée par le téléchargeur pour extraire les données requises (Item) ou générer une nouvelle requête (Request) pour une exploration plus approfondie.

5. Pipelines d'articles
– Les pipelines d'articles sont responsables du traitement des éléments extraits par Spider. Ils peuvent effectuer diverses tâches telles que le nettoyage des données, la vérification de l'intégrité des données et le stockage des données dans des bases de données ou des fichiers. En définissant plusieurs pipelines, les données peuvent être traitées de manière flexible pour répondre à différents besoins.

6. Middlewares de téléchargement
– Le middleware du téléchargeur est situé entre le moteur Scrapy et le téléchargeur et est utilisé pour gérer les demandes et les réponses. Ils peuvent modifier la demande (comme l'ajout d'en-têtes de demande, la définition de proxys, etc.) ou la réponse (comme le traitement de compression, le traitement de redirection, etc.), contrôlant ainsi la façon dont Scrapy interagit avec le site Web. Le middleware est un mécanisme important permettant à Scrapy d'étendre ses fonctionnalités.

7. Intergiciels Spider
– Le middleware Spider est situé entre le moteur Scrapy et Spiders et est utilisé pour traiter les entrées (c’est-à-dire la réponse) et les sorties de Spider (c’est-à-dire l’élément et les nouvelles demandes). Ils peuvent modifier ou supprimer les réponses, gérer les exceptions et même modifier ou supprimer les éléments et les demandes générés par les robots. Le middleware Spider offre la possibilité d'insérer des fonctions personnalisées pendant l'exécution de Spider.

Le flux de données entre chaque composant est illustré dans la figure :
Insérer la description de l'image ici

  • À partir de l'URL initiale, le planificateur la transmettra au téléchargeur pour le téléchargement
  • Après le téléchargement, il sera remis à Spider pour analyse.
  • Il existe deux types de résultats analysés par Spider :
  • L'un concerne les liens qui doivent être explorés davantage, tels que les liens « page suivante », qui seront renvoyés au planificateur ;
  • L'autre concerne les données qui doivent être enregistrées, qui sont envoyées au Item Pipeline pour un post-traitement (analyse détaillée, filtrage, stockage, etc.)

2. Installez Scrapy

pip install scrapy