undefined
Blog > Web Scraping > Post

Comment construire un web scraper sans coder en 10 minutes?

Friday, October 08, 2021

Commencer par l'exploration des sites Web

 

Qu'est-ce que le Web Crawling?

 

web crawling

 

Le Web crawling consiste à extraire des données HTML spécifiques de certains sites Web. En termes simples, nous pouvons percevoir un web crawler comme un programme particulier conçu pour explorer des sites web de manière orientée et glaner des données. Cependant, nous sommes incapables d'obtenir à l'avance l'adresse URL de toutes les pages Web d'un site contenant de nombreuses pages Web. Ainsi, ce qui nous préoccupe est de savoir comment récupérer toutes les pages web HTML d'un site web.

 

Traverser toutes les URLs

 traverse all the urls

 

Normalement, nous pourrions définir une page d'entrée: Une page Web contient les URL d'autres pages Web, nous pourrions alors récupérer ces URL à partir de la page actuelle et ajouter toutes ces URL affiliées dans la file d'attente d'exploration.

Ensuite, on crawle une autre page et on répète le même processus que la première de manière récursive. Essentiellement, nous pourrions considérer le schéma d'exploration comme une recherche en profondeur ou un parcours en largeur. Et tant que nous pouvons accéder à l'Internet et analyser la page Web, nous pouvons crawler un site Web. Heureusement, la plupart des langages de programmation offrent des bibliothèques client HTTP pour explorer les pages Web, et nous pouvons même utiliser des expressions régulières pour l'analyse HTML.

 

Algorithme général du Web Crawler

  • Commencer par une liste d'URL initiales, appelées "the seeds".
  • Visiter ces URLs.
  • Extraire les informations requises de la page.
  • Identifier tous les liens hypertextes de la page.
  • Ajouter les liens à la file d'attente d'URLs, appelée crawler frontier.
  • Visiter récursivement les URLs de la frontière du crawler.

 

Comment explorer un site Web?

crawl a website

 

 

Deux grandes étapes pour construire un Web Scraper

 

Pour construire un robot d'exploration du Web, une étape incontournable consiste à télécharger les pages Web. Ce n'est pas facile car de nombreux facteurs doivent être pris en considération, comme comment mieux exploiter la bande passante locale, comment optimiser les requêtes DNS, et comment libérer le trafic dans le serveur en assignant les requêtes web de manière raisonnable.


Après avoir récupéré les pages web, on passe à l'analyse de la complexité des pages HTML. En fait, nous ne pouvons pas récupérer toutes les pages web HTML. Et voici un autre problème. Comment récupérer le contenu généré par Javascript alors que AJAX est utilisé partout pour les sites web dynamiques? De plus, le Piège pour "Spider" qui se produit fréquemment sur Internet ferait un nombre infini de requêtes ou ferait échouer un crawler mal construit.

 

Bien qu'il y ait beaucoup de choses dont nous devrions être conscients lors de la création d'un crawler web, dans la plupart des cas, nous voulons simplement créer un crawler pour un site web spécifique. Il est donc préférable de faire des recherches approfondies sur la structure du site Web cible et de sélectionner des liens utiles à suivre, afin d'éviter des coûts supplémentaires pour des URL redondantes ou inutiles. De plus, nous pourrions essayer de n'explorer que ce qui nous intéresse dans le site Web cible en suivant une séquence prédéfinie si nous pouvons trouver un chemin d'exploration approprié concernant la structure du Web.

 

Par exemple, si nous souhaitons explorer le contenu de mindhack.cn, et que nous avons trouvé deux types de pages qui nous intéressent:

 

1. Liste d'articles, comme la page principale, ou l'URL avec /page/\d+/ et etc.

En inspectant Firebug, nous pouvons constater que le lien de chaque article est un "a Tag" sous h1.

2. Contenu de l'article, tel que /2008/09/11/machine-learning-and-ai-resources/, qui comprend le contenu complet de l'article.

Ainsi, nous pourrions commencer par la page principale, et récupérer les autres liens à partir de la page d'entrée-wp-pagenavi. Concrètement, nous devons définir un chemin: Nous ne suivons que la page suivante, ce qui signifie que nous pourrions parcourir toutes les pages du début à la fin, et être libérés d'un jugement répétitif. Ensuite, les liens concrets des articles dans la page de la liste seront les URLs que nous voudrions stocker.

 

Quelques conseils pour crawling

  • Profondeur d'exploration - Combien de clics à partir de la page d'entrée vous souhaitez que le robot d'exploration traverse. Dans la plupart des cas, une profondeur de 5 est suffisante pour l'exploration de la plupart des sites Web.
  • Crawling distribué - Le crawler va tenter d'explorer les pages en même temps.
  • Pause - La durée de la pause avant l'exploration de la page suivante.
  • Plus le crawler est rapide, plus il sera difficile sur le serveur (au moins 5-10 secondes entre les clics de page).
  • Modèle d'URL - Le modèle détermine les pages sur lesquelles le robot d'exploration veut obtenir des données.
  • Enregister un log - Un log enregistré stocke les URLs visitées et celles qui ont été converties en données. Il est utilisé pour le débogage et empêche l'exploration répétée d'un site visité.

 

Trouver un outil pour explorer les données

D'importants défis tactiques existent aujourd'hui dans le monde qui accompagne le web crawling:

  • Blocage des adresses IP par les sites web cibles
  • Structures de bande non uniformes ou irrégulières
  • Contenu chargé par AJAX
  • Temps de Latence 
  • Site web agressif anti-crawling

 

Traiter tous les problèmes n'est pas une tâche facile, et cela peut même être gênant. Heureusement, aujourd'hui, il n'est plus nécessaire de crawler un site Web comme autrefois et de se retrouver coincé dans un problème technique. Une nouvelle méthode pour crawler les données des sites Web cibles est proposée en remplacement. Les utilisateurs n'auront pas à s'occuper de configurations ou de codages complexes pour construire un crawler par eux-mêmes. Au lieu de cela, ils pourront se concentrer davantage sur l'analyse des données dans leurs domaines d'activité respectifs.

 

La méthode que je vous propose est un outil d'exploration automatique du Web, Octoparse, qui met l'exploration à la portée de tous. Les utilisateurs peuvent utiliser les outils intégrés et les API pour explorer les données à l'aide d'une interface utilisateur conviviale de type pointer-cliquer. De nombreuses autres extensions sont proposées dans cette application pour traiter les problèmes qui émergent en quelques étapes de configuration. Les problèmes sont résolus de manière plus efficace grâce à ses puissantes fonctions, notamment:

  • Serveurs proxy IP pour éviter le blocage d'IP
  • Outil Regex intégré pour reformater les champs de données
  • Ajax pour charger du contenu dynamique
  • Service Cloud pour diviser la tâche et accélérer l'extraction, etc.

 

Pour en savoir plus sur ce logiciel d'exploration du Web, vous pouvez consulter la vidéo ci-dessous pour apprendre comment lancer Octoparse et commencer votre exploration du Web.  

 

 

 

Voir les fonctionnalités qui pourraient vous intéresser :

Extraire les éléments texte/URL/image/HTML/attribut

Quel est le Meilleur Langage pour le Web Scraping? PHP, Python ou Node.js?

 

Vous pouvez également en savoir plus sur la façon dont un scraper web est appliqué dans divers secteurs:

4 astuces pour les recruteurs en matière de collecte des données!

25 façons de développer vos activités avec le Web Scraping

Comment extraire les coordonnées sur Google Maps?

Top 5 des outils de scraping des réseaux sociaux

 

 

Auteur : L'équipe Octoparse

 

Téléchargez Octoparse pour démarrer le web scraping ou contactez-nous pour toute autre demande
questions sur le web scraping!

Contactez-Nous Télécharger
Nous utilisons des cookies pour améliorer votre expérience de navigation. Découvrez comment nous utilisons les cookies et comment vous pouvez les contrôler en cliquant sur les paramètres des cookies. Si vous continuez à utiliser ce site, vous consentez à notre utilisation des cookies.
Accepter Rejeter