Apprentissage du robot d'exploration Python 12
-
analyseur robotique
Dans l'article précédent, nous avons appris ensemble le protocole Robots. Après avoir compris le protocole, nous pouvons utiliser le module robotparser pour analyser le fichier robot.txt.
-
RobotFileParser
-
déclaration:
Passez simplement la connexion URL de robot.txt lors de l'utilisation de cette classe
-
méthode set_url() : permet de définir la connexion au fichier robot.txt
-
Méthode read() : lit le fichier robot.txt pour analyse
-
méthode parse() : utilisée pour analyser le fichier robot.txt
-
Méthode can_fetch() : il y a deux paramètres, le premier est l'agent utilisateur, le second est l'URL à récupérer et le résultat renvoyé est Vrai ou Faux. Indique si le moteur de recherche indiqué par user-Agent peut explorer cette URL.
-
Méthode mtime() : renvoie la dernière heure d'exploration et d'analyse du fichier robots.txt, ce qui est nécessaire pour les robots de recherche qui analysent et explorent les fichiers robots.txt pendant une longue période. Nous devons vérifier régulièrement pour récupérer le dernier fichier robots.txt
-
Méthode modifiée () : elle est également nécessaire pour les robots de recherche qui explorent et analysent pendant une longue période, et peuvent définir l'heure actuelle sur la dernière heure d'exploration et d'analyse du fichier robots.txt.
-
Exemple
from urllib import robotparser rp = robotparser.RobotFileParser() rp.set_url('https://www.baidu.com/robots.txt') rp.read() # 用can_fetch 判断网页是否可以被抓取 print(rp.can_fetch('Baiduspider','https://www.baidu.com')) print(rp.can_fetch('Baiduspider','https://www.baidu.com/homepage/')) print(rp.can_fetch('Googlebot','https://www.baidu.com/homepage/')) # 从结果我们可以看到 用Baiduspider可以抓取homepage页面,而Googlebot就不行。
résultat de l'opération :
Ouvrez le fichier robots.txt de Baidu
Vous pouvez voir qu'il n'y a aucune restriction sur Baiduspider
-
-
-
Conclusion de ce chapitre
Ceci conclut l'utilisation de la bibliothèque urllib.Pour la bibliothèque urllib, nous avons appris l'utilisation de base du module de requête, du module d'erreur, du module d'analyse et du module robotparser. Dans le prochain article, nous apprendrons une bibliothèque de requêtes plus puissante.
À suivre…