arcangelorosato-dev
arcangelorosato-dev

google-maps-scraper

Geospatial scraper for Google Maps using Uber's H3 hexagonal grid. Extracts business listings (name, phone, website, address, rating, category, coordinates) and enriches each result with emails and social links harvested directly from the business website.

0fork
1watcher
0issue
Python

Analisi AI · Italiano

openai · gpt-4o-mini

Sintesi

Questo progetto è uno scraper basato sull'H3 hexagonal grid di Uber, progettato per estrarre informazioni dettagliate da Google Maps. Raccoglie dati specifici di attività commerciali come nome, telefono, sito web, indirizzo, rating e categoria. Inoltre, arricchisce i risultati cercando indirizzi email e link a social media direttamente dai siti web delle attività, rendendolo uno strumento potente per la raccolta di lead geolocalizzati.

Casi d'uso

  • Generazione di lead per agenzie di marketing che cercano attività commerciali in specifiche aree geografiche.
  • Analisi di mercato per aziende che desiderano identificare la densità e la distribuzione di categorie commerciali (es. ristoranti, palestre) in diverse città o quartieri.
  • Costruzione di database personalizzati per piattaforme di servizi locali o directory online, con informazioni complete sulle attività.
  • Ricerca di fornitori o partner commerciali in base alla loro localizzazione e categoria di attività.
  • Validazione o aggiornamento di dati esistenti sulle attività commerciali per scopi di data enrichment o mappatura.

Idee SaaS / Business

Lead Generation as a Service per PMI

Una piattaforma web che permette alle piccole e medie imprese di ricercare e scaricare database di potenziali clienti basati su criteri geografici, categoria di attività e presenza online (email, social media), con un modello di abbonamento o pagamento per lead.

Market Intelligence per Aperture Commerciali

Un servizio che aiuta le aziende a identificare le migliori posizioni per nuove aperture di negozi o filiali, analizzando la densità di concorrenti, la presenza di 'target businesses' e la copertura geografica in specifiche aree metropolitane, offrendo report dettagliati e mappe interattive.

API di Data Enrichment Georeferenziato

Un'API che permette ad altre applicazioni di integrare la funzionalità di arricchimento dei dati di attività commerciali di Google Maps. Gli utenti potrebbero fornire un elenco di siti web o nomi di attività e ricevere in risposta dati completi, inclusi email, social media e coordinate H3, con un modello pay-per-call o tier-based.

Target utenti
Il pubblico target include agenzie di marketing e lead generation, analisti di mercato, sviluppatori di business intelligence, aziende di logistica e delivery, piattaforme di servizi locali (es. delivery food, booking app) e imprese che necessitano di dati geolocalizzati per espandere le proprie attività o migliorare la propria offerta.
Categoria
Python, Playwright, Uber H3
Monetizzazione
Il modello di monetizzazione più efficace sarebbe un approccio ibrido freemium/abbonamento. Offrire una versione gratuita con funzionalità limitate (es. numero massimo di query, meno dati per record) per attirare utenti. Successivamente, proporre piani di abbonamento premium basati sul volume di dati estratti, sulla frequenza delle query (es. aggiornamenti settimanali/mensili), sull'accesso a funzionalità avanzate (es. automazione, integrazione API) e sull'assistenza personalizzata.
Licenza
Non specificata
Trend: La crescente domanda di dati geolocalizzati e la necessità di automazione per la raccolta di lead supportano un forte trend per questo tipo di scraper.

README · tradotto in italiano

🗺️ Scraper di Mappe con Motore H3

Scraper geospaziale per Google Maps che utilizza la griglia esagonale H3 di Uber. Estrae elenchi di attività commerciali (nome, telefono, sito web, indirizzo, rating, categoria, coordinate) e arricchisce ogni risultato con email e link social raccolti direttamente dal sito web dell'attività.


Setup

pip install -r requirements.txt
playwright install chromium

Avvio rapido

Modifica QUERY e LOCATION in main.py, quindi esegui:

python main.py

Output

Vengono scritti automaticamente tre file:

FileFormatoNote
results.jsonJSONSempre scritto (anche come checkpoint "crash-safe" prima dell'arricchimento)
results.csvCSVSempre scritto
results.xlsxExcelScritto se openpyxl è installato

Schema dei record

{
  "nome":      "Clinica Veterinaria XYZ",
  "categoria": "veterinary care",
  "telefono":  "+39 06 123456",
  "sito":      "https://clinicaxyz.it",
  "indirizzo": "Via Roma 1, 00100 Roma RM",
  "rating":    "4.2 stelle",
  "lat":       41.90,
  "lng":       12.49,
  "h3":        "891e2650b3bffff",
  "url":       "https://maps.google.com/maps/place/...",
  "source":    "veterinari Dragoncello, Roma",
  "emails":    ["info@clinicaxyz.it"],
  "social":    {
    "instagram": ["https://instagram.com/clinicaxyz"],
    "facebook":  ["https://facebook.com/clinicaxyz"]
  }
}

Architettura

main.py
  ├── src/geocoder.py       → nome luogo → coordinate (OpenStreetMap Nominatim)
  ├── src/h3_grid.py        → celle esagonali H3 (fallback: src/grid.py Cartesiano)
  ├── src/scraper_worker.py → motore di scraping Playwright
  ├── src/enricher.py       → raccolta email + social per sito web
  ├── src/writer.py         → output JSON / CSV / Excel
  ├── src/config.py         → profili di velocità + etichette cookie multilingua
  └── src/logger.py         → livelli di log LOW / MEDIUM / HIGH

Parametri chiave (main.py)

ParametroValore predefinitoDescrizione
QUERYCosa cercare (es. "dentisti")
LOCATIONDove cercare (es. "Roma", "Prati, Roma")
SKIP_DETAILSFalseTrue = solo nomi + URL (≈ 4× più veloce)
H3_RESOLUTION9Dimensione esagono: 7 ≈ 5 km, 8 ≈ 1 km, 9 ≈ 200 m
H3_K_RINGS2Raggio in anelli (5 → ~61 celle ≈ 3 km)
MAX_WORKERS11 = sequenziale; 2–3 = tab parallele
HEADLESSFalseTrue = browser invisibile (modalità server)
LOG_LEVEL"MEDIUM"LOW / MEDIUM / HIGH

Per la documentazione completa vedere ADVANCED.md.

Attività commit · ultime 26 settimane

stima

Approfondimenti AI

L'AI sta preparando gli approfondimenti…

Chiedi al repo

AI · contesto README + issue

Fai una domanda sul progetto. L'AI legge README e issue recenti.

Sponsor · Sconto esclusivo RepoRadar AI

Hai bisogno di un server per far girare arcangelorosato-dev/google-maps-scraper?

Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.

Deploy in 1 click
2 vCPU · 8 GB RAM · NVMe
Backup + DDoS inclusi
Attiva sconto Hostinger VPSLink affiliato — supporti RepoRadar senza costi extra per te.

Questo progetto esiste grazie a voi

RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.

Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.

Ethereum
ETH
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773
Bitcoin
BTC
bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8r
Solana
SOL
EtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3aj

Grazie di cuore — ogni contributo conta.