Résumé d'apprentissage du «Guide de développement pratique pour la collecte et l'analyse de données Python Crawling & Scraping [Augmented Revised Edition]» Ce chapitre 4 s'intitulait «Méthodes d'utilisation pratique» et se concentrait sur les points à noter lors de la création de robots d'exploration.
Si vous souhaitez explorer un site nécessitant une connexion, créez un robot d'exploration prenant en charge les cookies.
La bibliothèque Requests de Python envoie automatiquement des cookies au serveur en utilisant l'objet Session.
Referer
En-têteHTTP pour envoyer l'URL de la page précédemment consultée au serveur
(Exemple) Lorsque vous accédez à Qiita à partir des résultats de recherche Google, cela ressemble à ceci lorsque vous le vérifiez avec l'outil de vérification de Chrome
JavaScript pour explorer les sites créés en tant que SPA (application à page unique) Besoin d'être interprété. Pour ce faire, utilisez des outils tels que Selenium et Puppeteer pour faire fonctionner automatiquement le navigateur. De plus, les navigateurs tels que Chrome et FireFox ont un mode sans tête qui peut être exécuté sans interface graphique, ce qui peut être utile pour créer un robot d'exploration.
Quelque chose comme Googlebot. C'est plus difficile qu'un robot d'exploration qui cible un site spécifique. Un mécanisme qui ne dépend pas de la structure de la page est requis.
Droits d'auteur à prendre en compte lors de la création d'un robot → droits de reproduction, droits d'adaptation, droits de transmission publique «La révision de la loi sur le droit d'auteur en 2009 a rendu possible la duplication à des fins d'analyse et de duplication d'informations, d'adaptation et de transmission publique automatique dans le but de fournir des services de moteur de recherche sans l'autorisation du titulaire du droit d'auteur.
Une histoire sur l'observation des termes du site. Les informations personnelles seront gérées conformément à la loi sur la protection des informations personnelles.
Comment ne pas charger la destination de l'exploration. [Affaire de la bibliothèque centrale de la ville d'Okazaki - Wikipedia](https://ja.wikipedia.org/wiki/Affaire de la bibliothèque centrale de la ville d'Okazaki) Qu'est-il arrivé comme ça
--Nombre de connexions simultanées
<meta name =" robots "content =" <attribute value> ">
nofollow
, qui ne permet pas de suivre les liens dans la page, noarchive
, qui ne permet pas d'enregistrer, et noindex
, qui ne permet pas aux moteurs de recherche d'indexer.En ce qui concerne Netkeiba qui gratte toujours, il ne semble y avoir aucune instruction particulière dans le fichier robots.txt ou la balise meta
Fichier XML qui indique au robot d'exploration l'URL que vous souhaitez qu'il explore Plus efficace que de suivre des liens et d'explorer Décrire dans la directive Sitemap de robots.txt
Les informations de contact telles que l'adresse e-mail et l'URL peuvent être décrites dans l'en-tête User-Agent de la demande envoyée par le robot d'exploration.
La gestion des erreurs est importante afin de ne pas mettre une charge supplémentaire sur la destination de l'exploration Si vous réessayez lorsqu'une erreur se produit, prenez des mesures telles que l'augmentation exponentielle de l'intervalle de relance. Il existe de nombreuses descriptions standard pour la gestion des erreurs, mais elles peuvent être décrites de manière concise en utilisant une bibliothèque appelée ténacité.
pip install" CacheControl [filecache] "
--Valider avec une expression régulière --Valider avec le schéma JSON
pip install jsonschema
Si un changement peut être détecté de cette manière, le robot d'exploration sera arrêté par notification par e-mail.
réduction
Je n'étais pas motivé et l'intervalle d'affichage était vacant, mais pour le moment, c'était un article qui confirmait la survie (?)
Recommended Posts