Comment scraper Leboncoin rapidement et gratuitement?

Sasha Bouloudnine
May 27, 2022

4 min read

Overview

Leboncoin est un gisement de données fantastique. Selon les dires d’Antoine Jouteau pour Le Parisien, le 26 mai 2020, le DG du site, la plateforme française de recensement d’annonces totalise 30 millions d’annonces postées simultanément. Avec 3 secteurs prioritaires: l’automobile, l’immobilier, et l’emploi.

Au-delà du volume, colossal! chaque annonce sur leboncoin est une mine exceptionnelle d'informations. Sur une annonce immobilière, on y retrouve pêle-mêle le titre de l’annonce, mais également les images, le prix du bien, la localisation, le numéro de téléphone de l’annonceur, le nombre de pièces…

Avec un petit script Python, ça devrait le faire… Quelques lignes de code, et tada!

import requests
s = requests.Session()
s = requests.Session()
r = s.get('https://www.leboncoin.fr/ventes_immobilieres/2156084495.htm')
with open('2156084495.htm', 'w') as f: 
    f.write(r.text)

Pourtant à l’exécution, c’est la douche froide, le site est protégé par datadome, une société française spécialisée dans la bot-mitigation — qui détecte les visiteurs considérés comme des robots… et leur interdit l’accès au site. Aussi bien intentionnés soient-ils.

Dès lors, comment faire du scraping sur leboncoin, et récupérer tous les jours, sans code, sans galère, toutes les nouvelles annonces d’une catégorie donnée?

Dans cet article, on va voir comment faire ça en une trentaine de secondes. Ni plus ni moins.

🤖

Target

Tout d’abord, on va aller prendre sur leboncoin l’URL de recherche — c’est l’URL initial à partir de laquelle le robot va récupérer les annonces.

Il suffit de se rendre sur leboncoin, utiliser l’ensemble des critères de recherche de son choix, et récupérer notre précieuse URL.

Par exemple, toutes les maisons à louer à Cassis, dans le sud de la France, cet été:

Il faut savoir se faire plaisir…

🌞

Et voilà notre URL de recherche, à conserver précieusement pour la suite: https://www.leboncoin.fr/recherche?category=9&locations=Cassis_13260__43.21419_5.54296_4846

Setup

Maintenant, paramétrons l’outil de collecte en ligne! 0 ligne de code. 30 seconde top-chrono. Aussi facile que ça.

D’abord rendons-nous rapidement sur le joli outil de scraping, directement pilotable depuis une interface, juste là:

https://lobstr.io/fr/store/33db1ca85160105eeb84d5aa51cfad10/leboncoin-iter-listings

Et cliquez directement sur “Start Now”:

en cliquant à droite de “Output” sur le petit icône de téléchargement, vous pouvez télécharger un échantillon d’une centaine de lignes, et d’ores et déjà apprécier le format des données

Ensuite, créons sur “Create a new Cluster”:

L’UX a vraiment été bien pensée.

Puis on tape “leboncoin” pour rapidement trouver le crawler que l’on souhaite utiliser:

Attention, il faut bien choisir ‘Leboncoin Listings Search Export’ — et pas son alter-ego avec téléphone! L’autre crawler permet d’obtenir les précieux numéros de téléphone présents sur les annonces. Mais il faut absolument fournir un compte leboncoin. Et il n’est utilisable que si vous avez souscrit à un plan payant.

Launch

Place au lancement!

D’abord, placer l’URL précédemment sauvegardé au niveau du champ URL (1).

Par ailleurs, on ne souhaite pas collecter les annonces vieilles de plus de 24h. Une vieille annonce, c’est une annonce qui perd déjà de sa valeur. Dans le champ ‘Hours Back’, on va donc renseigner 24 (2).

Enfin, cliquez sur le joli bouton Save (3):

Sur le frame suivant, cliquez sur ‘Manually’ (4) — on ne va lancer le crawler qu’une seule fois, un clique à la main suffira.

Et appuyez sur Save (5) tout simplement:

Si vous souhaitez lancer le crawler par exemple tous les matins à 8h, vous pouvez cliquer sur ‘Repeatedly’. Plus besoin de se lever tôt le matin, et de lancer votre run à la main.On s’occupe de tout!

Et voilà, votre cluster est créé!

Pour le lancer, il suffit d’appuyer sur ‘Launch’ en haut à droite:

Et voilà, la machine est lancée!

5 étapes, 30 secondes de déploiement. Ni plus, ni moins.

Enjoy

Cliquez rapidement sur le ‘Run’ qui vient de se lancer:

Vous voilà sur la page de ‘Run’, où les résultats vont directement s’afficher en temps réel. Et après quelques minutes d’attente… quel plaisir!

De superbes données proprement structurées et directement exploitables (1). Et des données directement exploitables en appuyant sur le gros bouton rouge (2) en haut à droite, comme présenté ci-dessous:

Et une fois ouvert dans Numbers, voilà le travail — de superbes données immobilières, proprement structurées, directement exploitables, et collecter gratuitement. En 5 cliques. Tout simplement magique.

Au final, on a collecté, en 1 minute, sans code, 35 annonces immobilières i.e. approximativement 35 annonces par minute, sans numéro téléphone. Avec notre plan gratuit de 15 minutes par jour, vous allez donc pouvoir collecter approx. 500 annonces par jour sans numéro de téléphone. Sans dépenser un sou.

Le plan gratuit est (heureusement?) limité à 15 minutes par jour, et il n’est pas possible de récupérer les téléphones. Si vous avez besoin de numéros de téléphone et/ou de plus de temps de collecte, vous pouvez vous rendre directement ici.

Conclusion

Leboncoin est une formidable source de données. Avec plus de 135 millions de visites mensuelles, c’est le premier site de petites annonces en France, notamment sur les secteurs de l’immobilier, de l’automobile et de l’emploi.

Pourtant, les outils de ‘bot-mitigation’ rendent toute collecte automatique impossible, et contraignent les usagers à une récupération de données manuelles et fastidieuse.

Avec lobstr, collecter les données en 5 clics, sur la cible de votre choix. Sans code. Entièrement gratuitement.

Happy scraping!

🦞

1516989175726.jpegSasha Bouloudnine

Co-founder @ lobstr.io depuis 2019. Fou de la data et amoureux zélé du lowercase. Je veille à ce que vous ayez toujours la donnée que vous voulez.

Related Articles