Initiation au scraping de données (1/2)

Comprendre comment scraper Internet sans avoir aucune compétence technique

Écrit par
Nicolas Samir
Publié le
20/7/2022

🤔 Pourquoi ce tuto ?

Entrer en contact avec des prospects est peut-être l'un des plus gros challenges quand vous souhaitez confronter votre produit au marché. Le scraping peut considérablement aider à condition de l'utiliser intelligemment (si vous spammez vos prospects sans leur autorisation, attention au retour du bâton 😉)

⚡️ Qu'allons-nous réaliser ?

Ce double tutorial a pour objectif de vous apprendre à scraper des sites web. Le scraping (de l’anglais scraping = "gratter/racler") consiste à extraire des données de pages web de manière automatisée. Au lieu de parcourir les pages Web une par une et d'enregistrer les données, comme un humain pourrait le faire, le scraping consiste à faire exécuter cet exercice répétitif par un robot afin d'extraire un maximum de données en un minimum de temps.

Très concrètement, nous allons, par exemple, trouver les coordonnées de tous les médecins d'Ile-de-France👇

Un exemple concret : trouver les coordonnées de tous les médecins d'Ile-de-France

Admettons que nous souhaitons aller chercher sur Internet les coordonnées de tous les médecins d'Ile-de-France. Un humain normalement constitué irait chercher des annuaires des médecins sur Google et ferait un copier/coller de ces informations. Facile quand il y en a 10. Moins quand il y en a des dizaines de milliers.

Etape 1 : trouver notre source de données

De la même manière qu'un humain irait chercher les informations sur un annuaire, nous allons devoir trouver un endroit permettant à notre robot d'aller les extraire. Dans cet exemple, Doctolib est une bonne source pour aller trouver ce qu'on recherche. On y trouve, en effet, de nombreuses fiches de médecins dans la France entière, comme celle-ci par exemple 👇

Etape 2 : recenser TOUTES les fiches médecins de Doctolib

Nous souhaitons désormais trouver TOUTES les pages web des médecins sur Doctolib. Pour trouver ceci, on va utiliser des éléments très utiles d'un site web : les fichiers sitemaps.xml ou robots.txt

Kézaco ?

La sitemap est un protocole destiné aux robots des moteurs de recherche. Il cartographie toutes les pages importantes d'un site.

Ca tombe bien, c'est ce qu'on recherche. Comment trouver la sitemap ? Plusieurs méthodes s'offrent à vous ?

1- Taper l'URL de votre site suivi de sitemap.xml, par exemple https://www.doctolib.fr/sitemap.xml (vous pouvez aussi essayer avec sitemaps.xml)

2- Si la méthode 1 ne fonctionne pas, vous pouvez trouver les sitemaps en tapant l'URL de votre suite suivi de robots.txt, par exemple https://www.doctolib.fr/robots.txt

3- Si les 2 premières méthodes ne fonctionnent pas, vous pouvez taper le nom de votre site suivi du mot-clé "sitemap" sur Google, par exemple "doctolib sitemap"

Dans notre cas, la méthode 1 aura suffi. En tapant https://www.doctolib.fr/sitemap.xml, je tombe sur mon trésor : un ensemble de toutes les sitemaps du site, qui regroupent toutes les pages du site que notre robot se fera un plaisir d'aller explorer.

Je me rends à l'URL de la première sitemap et je tombe sur plein d'URLs du site doctolib

Etape 3 : convertir nos xml en un fichier + adéquat

On est gentil, on va donner à notre robot un fichier mieux qu'un xml, en l'occurrence un joli Google Sheets. Pour cela, rien de + simple, on va utiliser un convertisseur de xml en CSV.

On enregistre d'abord notre fichier xml

Puis, on se rend sur un convertisseur en ligne, par exemple : https://data.page/xml/csv

On uploade notre fichier XML et on le convertit pour obtenir un fichier CSV, qu'on importe ensuite dans Google Sheets.

Après avoir supprimé les 3 premières colonnes inutiles, on obtient :

Notre robot a une liste d'URLs sur lequel il va pouvoir aller extraire plein de données intéressantes !

Vous pouvez essayer avec plein d'autres exemples pour vous exercer :

  • aller chercher l'ensemble des pages de WelcomeToTheJungle pour extraire des données sur des entreprises
  • aller chercher l'ensemble des restaurants présents sur Deliveroo
  • aller chercher l'ensemble des coiffeurs présents sur Treatwell
  • ... (la liste est longue et n'est limitée qu'à votre imaginaire)

Bon c'est bien beau tout ça, mais on va pas faire grand chose de cette liste d'URLs. C'est l'heure de passer aux choses sérieuses et d'aller scraper ces pages.

Pour ce faire, rendez-vous dans la partie 2 !

S'inscrire à la newsletter

Soyez informés dès la mise en ligne d'un nouvel outil ou d'un nouveau tuto

Vous pourrez bien sûr vous désabonner à tout moment 😉
C'est noté ! 🎉

Vous serez averti de chaque nouveauté !
Oops! Something went wrong while submitting the form.