FichierFrais Maps Engine (privé) avatar

FichierFrais Maps Engine (privé)

Pricing

from $20.00 / 1,000 results

Go to Apify Store
FichierFrais Maps Engine (privé)

FichierFrais Maps Engine (privé)

Pricing

from $20.00 / 1,000 results

Rating

0.0

(0)

Developer

D N

D N

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

17 days ago

Last modified

Categories

Share

Moteur de production FichierFrais — scraping Google Maps durci pour tenir plusieurs milliers de prospects/semaine. Clone privé de free-google-maps-scraper-ii, renforcé.

Ce qui a été durci par rapport à l'actor II

  • Timeout réseau strict (25 s) sur chaque requête Maps — plus de socket qui pend.
  • Parallélisme : termes de recherche ET tuiles traités en parallèle, sous un limiteur global (searchConcurrency, défaut 4).
  • Push incrémental : chaque page de 20 résultats est enrichie puis poussée immédiatement au dataset. Rien ne reste en mémoire.
  • Enrichissement accéléré : les pages contact/légales d'un site sont récupérées en parallèle (au lieu d'une par une), avec un agent HTTP keep-alive partagé (connexions TCP/TLS réutilisées) et visite des sites en direct (pas de hop proxy). Mesuré −37 % de temps et −39 % de coût sur un run d'enrichissement, avec plus d'emails trouvés, pas moins.
  • Checkpoint / reprise : l'état (fiches poussées, termes/cellules terminés, cache géo) est persisté. Une migration Apify ou un resurrect reprend où on en était, sans doublons.
  • Throttling adaptatif : cooldown global qui double à chaque blocage Google détecté et décroît après une série de succès. 100 % gratuit (pas de proxy résidentiel).
  • Géocodage robuste : BAN (api-adresse.data.gouv.fr) pour la France, Nominatim en repli, retries + cache persisté.
  • Enrichissement contacts renforcé : retry + repli http://, décodage des emails obfusqués Cloudflare (data-cfemail, email-protection#), entités HTML (@), formes écrites [at]/[arobase]/[dot]/[point].
  • File de retry : les cellules échouées (réseau/blocage passager) sont rejouées une fois en fin de run.
  • Suivi temps réel : status message toutes les 15 s + RUN_STATS dans le key-value store.

Recette de production (50 000+/semaine)

Lancer plusieurs runs en parallèle (catégories × villes) via lancer_production.py, chacun avec timeout ≥ 3600, puis récolter avec recolter_scraping.py (dédoublonnage placeId inter-runs).

Input type d'un run de production :

{
"searchStringsArray": ["plombier", "électricien", "chauffagiste"],
"locationQuery": "Lyon, France",
"maxCrawledPlacesPerSearch": 200,
"language": "fr",
"countryCode": "fr",
"tiles": 3,
"scrapeContacts": true,
"searchConcurrency": 4
}

Sortie 100 % compatible avec la chaîne existante (placeId, emails, socialProfiles, scrapedAt, …) : recolter_scraping.py fonctionne sans modification.