Le robot d'exploration Web est un programme ou un script qui explore automatiquement les informations sur le World Wide Web selon certaines règles. Ils sont largement utilisés dans les moteurs de recherche Internet ou d'autres sites Web similaires et peuvent collecter automatiquement toutes les informations auxquelles ils peuvent accéder. le contenu de ces sites. Scrapy est un framework de robots d'exploration très puissant, et il est écrit en python. Jetons un coup d'oeil à ce qu'est Scrapy ?
1 Connaissance requise
La connaissance requise est : Système Linux. + Langage Python + Framework Scrapy + XPath (langage de chemin XML) + quelques outils auxiliaires (outils de développement de navigateur et plug-ins d'assistance XPath).
Notre robot d'exploration est développé à l'aide du framework Scrapy crawler en langage Python et fonctionne sous Linux, vous devez donc maîtriser le langage Python, le framework Scrapy et une connaissance de base du système d'exploitation Linux.
Nous devons utiliser XPath pour extraire ce que nous voulons de la page HTML cible, y compris les paragraphes de texte chinois et les liens « page suivante », etc.
Les outils de développement de navigateurs sont les principaux outils auxiliaires pour l'écriture de robots d'exploration. Utilisez cet outil pour analyser le modèle des liens de page, localiser les éléments que vous souhaitez extraire dans la page HTML, puis extraire son expression XPath pour l'utiliser dans le code du robot. Vous pouvez également afficher le référent, le cookie et d'autres informations dans la page. en-tête de requête. Si la cible explorée est un site Web dynamique, l'outil peut également analyser les requêtes JavaScript qui se cachent derrière celui-ci.
Le plug-in d'assistance XPath est un plug-in pour Chrome, et il peut également être installé sur les navigateurs basés sur le noyau Chrome. L'assistant XPath peut être utilisé pour déboguer les expressions XPath.
2. Configuration de l'environnement
Pour installer Scrapy, vous pouvez utiliser la commande pip : pip install Scrapy
Scrapy a de nombreuses dépendances associées, il peut être difficile pendant le processus d'installation. J'ai rencontré le problème suivant :
ImportError : aucun module nommé w3lib.http
Solution : pip install w3lib
ImportError : aucun module nommé twisted
Solution : pip install twisted
ImportError : Aucun module nommé lxml.HTML
Solution : pip install lxml
erreur : libxml/xmlversion.h : Non tel fichier ou répertoire
Solution : apt-get install libxml2-dev libxslt-dev
apt-get install Python-lxml
ImportError : aucun module nommé cssselect
Solution : p ip install cssselect
ImportError : Aucun module nommé OpenSSL
Solution : pip install pyOpenSSL
Suggestion :
Utilisez la méthode simple : installez avec anaconda.
3. Framework Scrapy
1. Introduction à Scrapy
Scrapy est un célèbre framework de robots, écrit en Python . Scrapy peut facilement effectuer du web scraping et peut également être facilement personnalisé en fonction de vos propres besoins.
La structure globale de Scrapy est à peu près la suivante :
2.
Scrapy comprend principalement les composants suivants :
Le moteur (Scrapy)
est utilisé pour traiter le flux de données de l'ensemble du système et déclencher des transactions (noyau du framework).
Scheduler (Scheduler)
est utilisé pour accepter les demandes du moteur, les placer dans la file d'attente et revenir lorsque le moteur le demande à nouveau. a La file d'attente prioritaire de l'URL (l'URL ou le lien de la page Web analysée), qui détermine la prochaine URL à explorer et supprime les URL en double.
Téléchargeur (Téléchargeur)
est utilisé pour télécharger du contenu Web et renvoyer le contenu Web à l'araignée (le téléchargeur Scrapy est construit sur Twisted, un modèle asynchrone efficace de) .
Spiders
Les robots d'exploration sont principalement utilisés pour extraire les informations dont ils ont besoin à partir de pages Web spécifiques, qui sont ce qu'on appelle des entités (Items). Les utilisateurs peuvent également en extraire des liens et laisser Scrapy continuer à explorer la page suivante.
Project Pipeline (Pipeline)
est responsable du traitement des entités extraites des pages Web par les robots d'exploration. Ses principales fonctions sont de conserver les entités, de vérifier la validité des entités et. supprimer les informations inutiles. Lorsque la page est analysée par le robot, elle sera envoyée au pipeline du projet et les données seront traitées via plusieurs séquences spécifiques.
Middlewares de téléchargement
Un framework situé entre le moteur Scrapy et le téléchargeur. Il gère principalement les requêtes et les requêtes entre le moteur Scrapy et la réponse du téléchargeur.
Spider Middlewares
Un framework entre le moteur Scrapy et le robot d'exploration. Sa tâche principale est de traiter l'entrée de réponse et la sortie de requête de l'araignée.
Intermédiaires de planification
Middleware entre le moteur Scrapy et le planificateur, envoyant des requêtes et des réponses du moteur Scrapy au planificateur.
Processus en cours d'exécution Scrapy :
1. Le moteur extrait un lien (URL) du planificateur pour une exploration ultérieure
2. l'URL dans une requête (Request) et la transmet au téléchargeur
3 Le téléchargeur télécharge la ressource et l'encapsule dans un package de réponse (Response)
4.
5. Si l'entité (Item) est analysée, remettez-la au pipeline d'entités pour un traitement ultérieur
6 Si le lien (URL) est analysé, remettez l'URL au planificateur. attendre l'exploration
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!