ROXABI · INTEL · 25/05/2026

Scraping plombiers FR
— Recap & stacks à tester

Run 6 validé. 4 stacks sur la table. Décision avant scale.

Run 6 · 11 leads 4 stacks à comparer camofox testé today VibeCraft Agency
2026-05-26
scroll
§ 01
État des lieux
Pipeline opérationnel — question : qu'est-ce qu'on ajoute ?

Le pipeline de base marche. Run 6 prouve la valeur. La question n'est plus "est-ce que ça marche" mais "comment on scale".

Contexte VibeCraft Agency
Mickael + MehdiBuilds — vente de 1-pages aux TPE/PME plombiers FR. Le skill b2b-web-prospecting-fr (auto-généré par Hermes) pilote le pipeline. Run 6 (25/05/2026) = 11 leads qualifiés, 7 emails extraits, 4 cold drafts prêts, tout logué Notion CRM.
Nouveau aujourd'hui : camofox-browser installé + testé sur M₂. Extraction de 2 pages Notion publiques (50k + 22k chars, contenu complet, sans auth). REST server localhost:9377, lazy launch + idle shutdown, snapshots accessibility-tree (~90% plus léger que HTML). Arrêté maintenant — prêt pour POC PagesJaunes.

Le stack urllib + browser_console MCP suffit pour les artisans TPE dont le site est en clair. La question = que faut-il ajouter pour passer de 11 à 100+ leads/run et débloquer les sources premium (PagesJaunes, Pappers) ?

§ 02
Métriques
Run 6 — stats complètes

25/05/2026 · skill b2b-web-prospecting-fr · département-test

11 leads qualifiés
7 emails extraits
64% taux extraction email
5 sub-agents ∥
4h11 durée totale
219k tokens consommés
Outputs 4 cold drafts prêts CRM Notion · tous loggés Source SIRENE API + URL patterns Score 0–10 qualité site
§ 03
Architecture
Pipeline actuel — étape par étape

SIRENE API → URL patterns → score qualité → extraction email DOM → Notion CRM

01
SIRENE API
recherche-entreprises.api.gouv.fr · sans auth · sans Cloudflare · filtres NAF plomberie
02
Génération URL patterns
plomberie-{ville}.fr · plombier-{ville}.fr · ~15 patterns · hit rate ~15%
03
Score qualité site (0–10)
SSL · viewport · tel-link · form · copyright-year · urllib natif
04
Extraction email — DOM JS post-hydration
Python urllib + browser_console MCP · regex sur DOM rendu · 64% success rate run 6
05
Notion CRM logging
Notion API · une entrée par lead · statut, score, email, cold draft attaché
§ 04
Blockers
Sources bloquées — confirmé (IP datacenter)

Ces sources sont inaccessibles depuis une IP datacenter standard. Contournement = stack stealth ou proxy résidentiel.

PagesJaunes
Cloudflare · bot detection agressif
Pappers
Cloudflare + API payante (token requis)
Societe.com
Rate limit strict · ban rapide
Google Search
Captcha / rate limit · HTML inutilisable
Bing / DuckDuckGo
Même profil que Google côté anti-bot
Cylex / 118712
Cloudflare · non prioritaire
Point critique : GeoIP + locale doivent être cohérents. Proxy IP FR + locale en-US = brûlé immédiatement. camofox gère ça nativement (GeoIP auto-locale).
§ 05
Solutions
4 stacks à comparer

Scrapling pour le scale Python-natif · camofox pour les sources premium · Crawl4AI à différer · stack actuelle à conserver pour les artisans TPE.

camofox-browser
★ 1.9k
jo-inc · JS + Docker · MIT · déjà installé M₂
REST server (port 9377). Firefox patché au niveau C++ (fingerprint spoofing). VNC pour login interactif → réutilisation storage_state. Proxy + GeoIP auto-locale. Snapshots accessibility-tree (~90% plus léger que HTML). 40 MB idle.
Fit-zone
Bypass extrême (PagesJaunes, LinkedIn, Amazon FR)
Effort
Déjà installé · 30 min POC restant
Risque
¬scale natif (tab-by-tab) · orchestration Python côté client
Coût
Open source · gratuit
Crawl4AI
★ ~35k
Python · Apache-2 · LLM-friendly
Crawler LLM-friendly, extraction Markdown native, stealth via undetected-playwright, pipeline RAG-ready. Bon pour crawl en masse + extraction structurée par LLM.
Fit-zone
Crawl masse + extraction structurée LLM
Effort
1 jour POC
Risque
¬testé sur CF Turnstile FR · overlap fort avec Scrapling
Statut
À différer — pas besoin avant scale >1k leads
Stack actuelle
coût 0
urllib + browser_console MCP · déjà en prod
Suffit pour artisans TPE dont le site est en clair. 64% email extraction run 6. Zéro coût, déjà intégré. Limite : ¬peut attaquer PagesJaunes/Pappers, ¬scale au-delà de quelques centaines de leads/run.
Fit-zone
TPE artisan · site sans anti-bot lourd
Effort
Zéro — déjà en production
Risque
Pas adapté aux sources premium
Limite scale
Quelques centaines max
§ 06
Matrice comparative
Comparatif 4 stacks

Colonnes : stack, type, stealth, scale, effort, fit-zone

Stack Type Stealth CF Scale Effort Fit-zone
Scrapling Python framework CF Turnstile ✓ 100+ /run 1 jour Artisans TPE → scale
camofox-browser REST + Firefox C++ Extrême ✓ Tab-by-tab 30 min PagesJaunes, LinkedIn
Crawl4AI Python LLM-crawler Non testé FR Masse 1 jour RAG / >1k leads (futur)
Stack actuelle urllib + MCP Aucun ~quelques centaines 0 · en prod TPE site en clair
Note DataDome/Akamai : Aucun outil open source ne passe DataDome ou Akamai de façon fiable. Si PagesJaunes migre vers ces protections, il faudra soit une API sponsor (Scrapling Pro), soit un service tiers.
§ 07
Plan de test
3 semaines · go/no-go scale

Séquence minimale pour valider la stack avant d'engager le scale 1k leads/run.

Semaine 1 · 1–2j
POC Scrapling
  • 1 dept FR (50 leads SIRENE)
  • Scraping sites artisans
  • Comparer taux email vs stack actuelle
  • Adaptive selectors + proxy rotation
Semaine 2 · ½j
POC camofox
  • PagesJaunes cross-check
  • Qualité données vs SIRENE
  • GeoIP + proxy FR configuré
  • VNC login si nécessaire
Semaine 3
Décision go/no-go
  • Go : scale 1k leads/run
  • Définir stack prod cible
  • Budget proxy résidentiel
  • Crawl4AI : différé
§ 08
Décision recommandée
3 axes — la stratégie retenue

Pas de changement pour ce qui marche. Upgrade ciblé. Backup prêt.

01
Garder la stack actuelle pour les artisans TPE
urllib + browser_console MCP — déjà éprouvé, 64% extraction rate run 6. Aucune raison de casser ce qui marche pour les sites sans anti-bot lourd. Continuer les runs SIRENE avec ce stack.
02
Tester Scrapling en priorité — upgrade Python-natif
Objectif : passer de 11 → 100+ leads/run. Adaptive selectors + proxy rotation built-in + CF Turnstile auto-solve. Priorité 1 parce que Python-natif, déjà dans la stack, et couvre 90% du besoin scale.
03
Garder camofox en backup sources premium
PagesJaunes, LinkedIn, Amazon FR pour cross-référence — camofox est le seul outil testé aujourd'hui qui passe Cloudflare de façon fiable. Déjà installé sur M₂, 30 min de POC suffisent pour valider PagesJaunes. ¬priorité avant le POC Scrapling.
¬Crawl4AI maintenant. Overlap fort avec Scrapling, aucun besoin avant scale >1k leads. À reconsidérer en semaine 3 si Scrapling ne passe pas CF Turnstile FR de façon stable.
§ 09
Deep dive
camofox — ce qu'on a validé aujourd'hui

Installé + testé sur M₂. Arrêté maintenant. Prêt pour POC PagesJaunes semaine 2.

Validé ✓
  • REST server localhost:9377 opérationnel
  • Extraction Notion "Anyone with link" — 50k + 22k chars
  • Accessibility-tree snapshot (~90% plus léger que HTML)
  • Lazy launch + idle shutdown automatique
  • Firefox patché C++ (fingerprint imperceptible)
  • GeoIP auto-locale (critique FR)
Non testé / Risques
  • PagesJaunes Cloudflare — non encore testé
  • Scale natif : tab-by-tab seulement
  • 1 process pour tout — goulot d'étranglement
  • VNC login interactif requis pour certains sites
  • Proxy FR + GeoIP cohérence — à valider en conditions réelles
  • Orchestration multi-sessions = à coder côté Python
Port 9377 Mémoire idle 40 MB Hôte M₂ (roxabitower) Statut arrêté — prêt à relancer Licence MIT