[PYTHON] Compromis dans le scraping et l'exploration Web

en premier

** Internet est un trésor d'informations! Analysons les données en utilisant pleinement le Web scraping + crawling! Je pense qu'il y a beaucoup de gens qui ont pensé ** </ font>. Je suis également l'un d'entre eux.

J'ai décidé d'étudier le Web scraping + crawling comme un moyen simple d'obtenir des données, comme la collecte de données à utiliser dans l'apprentissage automatique et l'étude de la science des données.

Cet article résume ce que j'ai ressenti en étudiant le scraping et l'exploration Web.

Qu'est-ce que le Web scraping?

Le web scraping est une technologie qui extrait des informations de sites Web. Plus précisément, il s'agit d'une technologie qui extrait ** des informations du HTML, etc. **. Utilisé pour analyser les informations sur les sites Web.

Avec le web scraping, si vous pouvez télécharger des données de page Web (HTML, etc.), vous pouvez également obtenir des informations sur des pages Web dont l'API n'est pas ouverte au public. De plus, si vous disposez de la technologie pour accéder aux pages qui nécessitent une connexion, vous pouvez même gratter les pages qui nécessitent une connexion.

Qu'est-ce que l'exploration

L'exploration est une technologie qui explore les liens de sites Web pour obtenir des informations sur les pages Web. Il peut être patrouillé régulièrement pour détecter les mises à jour de page. Cependant, l'exploration met une charge sur le serveur, donc certains services sont interdits et certains services n'acceptent pas l'exploration par Bot.

Les programmes qui effectuent l'exploration sont appelés ** crawler ** ou ** spider **.

Une chose à garder à l'esprit lors de l'exploration est le ** chemin du lien **. Lors de l'extraction du chemin, il n'y a pas de problème s'il s'agit d'un chemin absolu vers l'URL de référence (URL de la page qui démarre l'exploration), mais ** S'il s'agit d'un chemin relatif, c'est une boucle infinie ** </ font> (Boucle infinie s'il y a des pages liées les unes aux autres). Normalement, lors de l'exploration, un traitement tel que la conversion du chemin du lien extrait en chemin absolu est requis.

Compromis entre le web scraping et l'exploration

Il est étonnamment facile d'étudier le scraping et l'exploration Web. Dans mon cas, j'utilise Python3, donc je suis redevable à des bibliothèques utiles telles que ** Beautiful Soup ** et ** Scrapy **.

Une fois que vous avez effectué le scraping et l'exploration Web, vous pouvez accéder à n'importe quelle URL et collecter des informations à partir des liens de cette page. Cependant, les données collectées contiennent beaucoup d'informations inutiles, nous devons donc commencer par supprimer les déchets.

Par conséquent, utilisez le ** sélecteur CSS ** pour obtenir uniquement les informations nécessaires. En utilisant le sélecteur CSS, seules les informations spécifiées peuvent être collectées. Par exemple, si vous souhaitez collecter l'adresse liée pour l'exploration, collectez uniquement la valeur de l'attribut href de la balise a.

Cependant, les sélecteurs CSS ne sont pas polyvalents. Par exemple, lors de la collecte d'URL de destination pour l'exploration, il serait préférable d'exclure le lien vers la page de contact, ainsi que le lien de l'annonce. Par conséquent, le sélecteur CSS ne collecte des informations que là où c'est nécessaire, mais le sélecteur CSS n'est pas unifié pour toutes les pages Web.

Par conséquent, lors de la collecte d'informations sur Internet par scraping Web + exploration, ** créez un programme qui peut être utilisé à des fins générales, mais qui nécessite également le traitement d'une grande quantité d'informations inutiles **, ou ** ne peut collecter que les informations nécessaires, mais CSS Vous devez choisir entre créer un programme ** qui nécessite une recherche sélective à chaque fois.

Si quelqu'un sait comment l'utiliser universellement et ne collecter que les informations dont vous avez besoin, veuillez laisser un commentaire.

Si vous souhaitez utiliser le web scraping + crawling pour l'analyse des données

J'ai écrit sur le compromis entre le web scraping et l'exploration, mais le but initial est d'analyser les données. (Certaines personnes peuvent dire que c'est pour créer un moteur de recherche ...) Si vous utilisez le Web scraping + crawling comme collecte de données pour l'analyse des données, vous pouvez décider si la collecte générale ou la collecte locale est meilleure. N'est-il pas nécessaire de devenir comme ça?

Aucune des deux méthodes n'est absolue, car il n'y a pas de résultat d'analyse à 100% dans l'analyse des données. Je pense que vous devriez bouger rapidement les mains et travailler sur l'analyse, plutôt que de continuer à réfléchir à la méthode à utiliser.

à la fin

Voici un résumé de ce que vous avez appris et remarqué sur le scraping et l'exploration Web J'espère que cela aidera ceux qui font ou veulent faire du scraping et de l'exploration Web.

Recommended Posts