Maison >développement back-end >Tutoriel Python >Que signifie le robot d'exploration de Python ?

Que signifie le robot d'exploration de Python ?

藏色散人
藏色散人original
2019-07-04 09:15:1515022parcourir

Le robot d'exploration Python est un robot d'exploration Web (araignée Web, robot Web) développé à l'aide du programme Python. Il s'agit d'un programme ou d'un script qui explore automatiquement les informations du World Wide Web selon certaines règles. D'autres noms moins couramment utilisés incluent les fourmis, les indexeurs automatiques, les émulateurs ou les vers. En fait, en termes simples, il s'agit d'obtenir les données souhaitées sur la page Web via un programme, c'est-à-dire de capturer automatiquement les données.

Que signifie le robot d'exploration de Python ?

Un robot d'exploration Web (anglais : web crawler), également appelé web spider, est un robot Web utilisé pour naviguer automatiquement sur le World Wide Web. Son but est généralement de compiler des index web.

Les moteurs de recherche Web et autres sites utilisent des logiciels d'exploration pour mettre à jour le contenu de leur propre site Web ou leurs index d'autres sites Web. Les robots d'exploration Web peuvent enregistrer les pages qu'ils visitent afin que les moteurs de recherche puissent générer ultérieurement des index que les utilisateurs pourront rechercher.

Le processus par lequel le robot accède au site Web consommera les ressources du système cible. De nombreux systèmes réseau ne permettent pas aux robots d'exploration de fonctionner par défaut. Par conséquent, lorsqu'il visite un grand nombre de pages, le robot d'exploration doit prendre en compte la planification, le chargement et la « politesse ». Les sites publics qui ne souhaitent pas être consultés par les robots et connus du propriétaire du robot peuvent utiliser des méthodes telles que les fichiers robots.txt pour éviter l'accès. Ce fichier peut demander au robot d'indexer seulement une partie du site, voire de ne pas le traiter du tout.

Il y a tellement de pages sur Internet que même les plus grands systèmes d'exploration ne peuvent pas les indexer complètement. Ainsi, aux débuts du World Wide Web, avant 2000 après JC, les moteurs de recherche trouvaient souvent peu de résultats pertinents. Les moteurs de recherche d’aujourd’hui se sont beaucoup améliorés à cet égard et peuvent fournir instantanément des résultats de haute qualité.

Le robot d'exploration peut également vérifier les hyperliens et les codes HTML pour le web scraping.

Python crawler

Architecture du crawler Python

L'architecture du crawler Python est principalement composée de cinq parties, à savoir le planificateur, les gestionnaires d'URL , téléchargeurs Web, analyseurs Web, applications (données précieuses explorées).

Planificateur : équivalent au CPU d'un ordinateur, principalement responsable de la planification de la coordination entre le gestionnaire d'URL, le téléchargeur et l'analyseur.

Gestionnaire d'URL : inclut l'adresse URL à explorer et l'adresse URL qui a été explorée, pour empêcher l'exploration répétée des URL et l'exploration en boucle des URL. Il existe trois manières principales d'implémenter le gestionnaire d'URL, via la mémoire. et base de données, base de données cache à réaliser.

Téléchargeur de page Web : téléchargez une page Web en transmettant une adresse URL et convertissez la page Web en chaîne. Le téléchargeur de page Web a urllib2 (module de base officiel de Python), qui nécessite une connexion, un proxy et des cookies. , requêtes (Paquet tiers)

Analyseur de page Web : l'analyse d'une chaîne de page Web peut extraire des informations utiles selon nos exigences, ou elle peut être analysée selon la méthode d'analyse de l'arborescence DOM. Les analyseurs de pages Web incluent des expressions régulières (convertissent intuitivement les pages Web en chaînes pour extraire des informations précieuses grâce à une correspondance floue. Lorsque le document est complexe, cette méthode sera très difficile à extraire des données), l'analyseur HTML (fourni avec Python), beautifulsoup. (un plug-in tiers, vous pouvez utiliser le html.parser fourni avec Python pour l'analyse, ou vous pouvez utiliser lxml pour l'analyse, qui est plus puissant que les autres), lxml (un plug-in tiers , peut analyser XML et HTML), html.parser, beautifulsoup et lxml sont tous analysés sous la forme d'une arborescence DOM.

Application : C'est une application composée de données utiles extraites de pages Web.

Que peut faire un robot d'exploration ?

Vous pouvez utiliser un robot pour explorer des images, des vidéos et d'autres données que vous souhaitez explorer. Tant que vous pouvez accéder aux données via le navigateur, vous pouvez les obtenir via le robot.

Quelle est la nature d'un robot d'exploration ?

Simuler un navigateur pour ouvrir une page Web et obtenir la partie des données que nous voulons dans la page Web

Le processus par lequel le navigateur ouvre la page Web :

Quand vous êtes dans le navigateur Après avoir entré l'adresse, l'hôte du serveur est trouvé via le serveur DNS et une requête est envoyée au serveur. Le serveur analyse et envoie les résultats au navigateur de l'utilisateur, y compris le contenu html, js, css et autres fichiers. . Le navigateur l'analyse et le présente enfin à l'utilisateur sur le navigateur. Les résultats vus

Les résultats du navigateur vus par l'utilisateur sont donc composés de codes HTML. Notre robot doit obtenir ces contenus en analysant et en filtrant. les codes HTML pour obtenir les ressources souhaitées.

Recommandations associées : "Tutoriel Python"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn