Récemment un ami m’a demandé de l’aider à sélectionner des voitures sur les annonces le bon coin. Il était prêt à se déplacer sur pas mal de départements, mais voulait vraiment optimiser sa recherche sur le coût et le kilométrage des véhicules. Avec lui, on a imaginé un tableau de bord, et c’est l’heure pour moi d’expliquer comment tout fa fonctionne.
Scraping Leboncoin:
Il faut savior que Leboncoin est assez bien protégé en terme de scraping. Voici les méthodes que j’ai essayé et qui n’ont pas fonctionnées:
- Selenium (chrome se lance et clique automatiquement sur les boutons): Malgré des temps de pause pour résoudre les captchas manuellement, leboncoin m’a détecté en à peine 3 essais.
- Lightpanda, un navigateur light dédié au scrap. Détection automatique.
- Script python à base de scrapy… Idem
- Lobstr est un service payant qui a l’air de fonctionner, mais un peu cher (50 € / mois) pour ce que je voulais faire. Je n’ai pas trouvé d’alternative gratuite.
- Plugin chrome. Cette dernière méthode a l’avantage de pouvoir passer inaperçue, car vous êtes connecté sur un vrai navigateur. Vous pouvez aussi installer un VPN pour éviter que votre IP ne soit bloquée si vous abusez… Chatgpt m’a donné les grandes lignes pour coder l’extension. Avec cette méthode, on scrape aussi la pagination des résultats facilement.
Tableau de bord:
On a d’abord opté pour un nuage de points afin d’afficher 3 informations:
- le prix en ordonnée,
- le kilométrage en abscisse,
- l’année du véhicule en couleur.
Cela permet déjà de voir si certains véhicules se démarquent, mais il y a un coté un peu fouillis.

C’est pourquoi nous avons rajouté un dégradé de couleur sur les 3 colonnes importantes. Cela permet par exemple de voir plus facilement quelle voiture semble une vraie opportunité. Ici, le kilométrage est clairement intéressant (3 fois plus bas) pour un prix qui est proche des 20 000 €. Le bémol c’est que la voiture est disponible à 461 km de Nantes.

J’ai aussi rajouté un système qui calcule le kilométrage entre chez nous, et les codes postaux des annonces. Tout est calculé depuis Nantes (44 000). Cela permet d’éviter d’aller jusqu’à Marseille 😉
Conclusion
Ce projet était intéressant à réaliser. J’ai constaté que beaucoup de personnes se cassaient les dents à essayer de scraper le boncoin, et que ceux qui y parviennent ne diffusaient pas leurs méthodes (surement par crainte qu’elle soit détectée et bloquée). De mon coté, je m’en fiche et je vous ai mis le code de tout ça ici: https://github.com/ynizon/leboncoin
Si jamais vous avez trouvé ça utile, n’hésitez pas à poster un petit commentaire en dessous, ca fait toujours plaisir ^^