Bonjour, je cherche un moyen pour pouvoir scraper Lacentrale. J’ai d’abord commencé par du scrapy mais comme lacentrale repose sur du JS pour pas mal de vérifs, je suis donc passé sur Selenium. J’ai testé jusqu’à présent :
Rotation de proxy et VPN (cyberghostvpn)
Modification des headers sur sélénium (recompilation du chromedriver aussi)
Mais rien à faire, en arrivant sur la centrale, dès que je change de page mon scrapper se fait détecter. Je pense que le problème pourrait se situer au niveau des cookies (surtout le cookie datadome), et je voulais savoir si des gens avaient réussi à contourner datadome.
Si tu veux scraper les données: Piloterr avec l’API Website Crawler.
Si tu veux automatiser des actions avec un navigateur: Scrapingbee avec l’API JavaScript Scenario.
Merci beaucoup de l’aide apportée. Cependant j’aimerais bien trouver une méthode qui n’implique pas de passer par des API payantes, même si c’est bien sûr plus compliqué de le faire sois même c’est surtout pour la technique que je veux réaliser ce projet.
Merci beaucoup pour la doc, ça me débloque sur pas mal de choses. J’arrive à bien manipuler la donnée envoyée à datadome mais quelque chose me perturbe c’est à propos du cookie « datadome » dans le domaine .lacentrale.fr, que ce soit sur linux ou windows avec des navigateurs différents, j’ai ce cookie. Cependant sur Selenium je ne l’obtient pas et je suspecte le fait que datadome s’en serve pour bloquer la session. De plus je remarque qu’à la 20-ième page, je dois résoudre un captcha (captcha de datadome), mais je ne suis pas bloqué et les données ne sont pas altérées (ce qui est souvent le cas quand datadome identifie un scraper). Est-ce que tu aurais d’éventuelles pistes dessus ?
Je tombe sur ce thread parce que j’ai justement bossé sur la même problématique pour LBC (DataDome, Cloudflare-like, etc.), au final je suis parti sur une approche un peu différente qui pourrait débloquer.
Au lieu d’essayer d’imiter Chrome (JA3, fingerprint TLS, cookies, etc.) depuis Python/Go/Selenium — qui est un combat sans fin parce que DataDome update régulièrement —, j’ai fait une extension Chrome MV3 qui exécute le fetch à l’intérieur d’une tab Chrome déjà ouverte sur le site cible, via chrome.scripting.executeScript.
Concrètement :
Le service worker de l’extension ouvre une tab leboncoin.fr en arrière-plan
Il injecte un script dans cette tab qui fait le fetch(...) vers l’API LBC
Le résultat est renvoyé au service worker
Comme c’est Chrome lui-même qui fait l’appel, tout est natif : JA3 réel, cookies de session, user-agent, headers, ordre des headers, TLS version, tout. DataDome n’a rien à détecter parce que c’est un vrai navigateur authentifié. Pas besoin de proxy ni d’imitation de fingerprint.
Limites de l’approche :
Il faut une extension Chrome installée chez l’utilisateur (pas du scraping anonyme depuis un serveur)
Il faut une session active (utilisateur connecté à LBC)
Tu paies ~200 ms par appel le temps que la tab tourne en background
Pas adapté à du scraping massif multi-comptes (c’est pour soi-même ou pour les utilisateurs qui installent l’extension)
Mais pour tout ce qui est « automatiser ce que je fais déjà sur LBC en tant qu’utilisateur » (veille, republier, lire ma messagerie), ça passe nickel et c’est zéro maintenance côté anti-bot