Scraper la BDD de la CAPEB

Hello l’équipe de growth !

Je rejoins une nouvelle start up qui vise les indépendants & plus particulièrement les artisans du bâtiment ; et je suis donc tombé sur l’annuaire de la CAPEB ( https://artisans-du-batiment-by-capeb.com/annuaire/ )

Mais il semble (avec les connaissances actuelles que j’ai) que le seul moyen de scraper leur annuaire serait de taper la fonction + localisation des artisans dans la barre de recherche, puis de récupérer les 10-20 fiches qui apparaissent avec WebScraper ou un outil similaire ; j’ai checké pour la sitemap aussi, mais j’ai l’impression qu’elle ne donne pas direct les fiches artisans.

Vous savez s’il y a un moyen de directement récupérer la base de donnée d’une autre manière ?

J’ai vu un thread précédent mais ils ont peut-être changé leur site pour ne plus se faire scraper de la même manière ?

L’alternative serait que je scrap les fiches GMB sinon, j’ai pas encore essayé.

Merci à vous du coup de main si vous avez des pistes. :smiley:

Hello @VinceHood ,

Je ne suis pas le 1er en scraping, mais j’en fais de plus en plus avec l’IA.

Y a une API pour la data quand tu inspecte la console une fois sur le site :
https://api.artisans-du-batiment-by-capeb.com/elastic-search?q=plombier&limit=24&page=1&lat=46.5&lon=2.5&distance=1000

Je ne sais pas si tu utilise Claude Code ou des outils du style.

Sinon installe ça (et tu choisis le modèle Gemini 3 pro), t’as du crédit gratuit :

Et ensuite, en lui donnant ces instructions il devrait te faire le script (dis-lui d’essayer “manuellement” avant) :

Scrape l'API CAPEB artisans du bâtiment.

 

URL type :

https://api.artisans-du-batiment-by-capeb.com/elastic-search?q={METIER}&limit=24&page={PAGE}&lat=46.5&lon=2.5&distance=1000


Contraintes :

limit=24 max (hard-codé)

page max = 416 (limite Elasticsearch 10k)

lat/lon obligatoire (46.5, 2.5 + distance=1000 couvre toute la France)

SSL verify=False

Métiers à itérer :

electricien, plombier, macon, chauffagiste, couvreur, menuisier, peintre, carreleur, charpentier, serrurier, plaquiste, terrassier, facades, vitrier, climatisation, isolation


Algo :

Pour chaque métier, paginer de 1 à 416

Stocker dans un set d'IDs pour dédupliquer

Sauvegarder en JSON

Délai 1s entre requêtes

Réponse : {"items": [...]} — les artisans sont dans items

PS : Je sais pas si c’est autorisé, donc je te laisse vérifier tout ça. Je ne sais pas aussi si ça rencontrera des limites, good luck :wink:

PS 2 : Dis-lui de te faire aussi le CSV plutôt que Json si tu veux l’ouvrir facile, commence par une petite quantité pour voir si c’est ok

5 « J'aime »

Hello,
Pour ton info, j’ai réussi, asser facilement, à scrapper les données avec Claude (Opus 4.1) + le MCP Puppeteer.
PS: je suis très loin d’être un spécialiste du scrapping donc si j’y arrive tu devrais pouvoir y arriver aussi :wink:

1 « J'aime »

Hello à vous deux ! Sorry pour le délai de réponse ; j’étais pas mal occupé.

Tu m’as fait découvrir Antigravity @Kevin-Zimmermann c’est plutôt incroyable côté possibilités que ça ouvre ! J’ai couplé ça avec Jules (l’assistant coding de Gemini) et c’est super cool. Je l’ai utilisé sur un autre projet donc je vais tester pour le scraping de la CAPEB.

Pareil @Clicktoweb je vais essayer avec Puppeteer, je t’en dirai des nouvelles. :smiley:

Merci énormément à vous deux !

1 « J'aime »

Content si ça t’as fait découvrir @VinceHood :wink:

Pour le MCP dont parle @Clicktoweb , j’utilise la même avec le MCP Playwright dans Claude Code, ça permet à l’IA de se rendre sur le site, comprendre comment naviguer et créer le script de scraping (en headless ou pas), etc.

Mais je préfère toujours prendre d’abord 5min pour regarder s’il n’y a pas un endpoint (comme l’API que j’ai donné) qui retourne des résultat dans le site, ce qui permet souvent d’avoir moins de contrainte, d’aller beaucoup plus vite pour arriver à ses fins. L’IA comprendra souvent bien et très vite comment itérer sur ce endpoint pour choper tous les résultats.

Exemple d’une carte complexe contenant des franchisés, l’IA va devoir comprendre comment naviguer, réussir à choper le maximum de résultat via le front-end, alors qu’avec un endpoint c’est le plus pur des protocoles.

Par contre je n’ai jamais tenté de dire à l’IA via son MCP Playwright de check d’abord s’il y a un endpoint pour retourner la data (je ne sais pas si elle peut) :thinking: , faudrait que j’essaye.

Je ne suis pas expert du tout, je suis pas dev, je bidouille et scrap dernièrement des sites (en moins de 10-15min le scraping est lancé) qui aurait été complexe d’après moi avec des tools comme Octoparse (et outils similaires), ou potentiellement fastidieux via un MCP Playwright pour faire un script qui passe par le front.

Bien évidemment c’est toujours du bonheur quand c’est possible avec un Instant Data Scraper et du premier coup