Skip to main content

Interactive Google Maps scraper with Tkinter confirmation

Project description

gmaps-scraper

Interactive Google Maps scraper with Tkinter confirmation

gmaps-scraper lets you visually pick locations in Google Maps and captures the place name, coordinates, address, city, state, country, plus any custom fields you specify. Each pick pops up a dialog so you can review or add extra info before recording.

Features

  • Live map interaction via Selenium & Chrome
  • Automatic extraction of:
    • Place name
    • Latitude & longitude
    • Full address
    • City, state, country (via Plus code)
    • Rating, Reviews, Category
  • Batch mode: if you supply search_terms, it will run exactly those searches and return immediately (no “Keep going?” prompt)
  • Manual mode: if you omit search_terms, after each scrape you’re asked “Keep going?”
  • Custom fields: define required * or optional fields in your dialog
  • Confirmation modes:
    • always: always prompt after each scrape
    • on_missing: prompt only if any field (required or optional) is blank
    • on_required_missing: prompt only if a required field is blank
  • Clean teardown of browser sessions

Installation

pip install gmaps-scraper

Usage

Basic pick

from gmaps_scraper import get_google_map_details

# Launch the map picker; no extra fields
data = get_google_map_details()
print(data)
# => {("40.785091","-73.968285"): {"name": "Central Park", "latitude": "...", ...}}

With search term (batch mode; no “Keep going?”)

from gmaps_scraper import get_google_map_details

data = get_google_map_details(search_terms=["Empire State Building", "Central Park"])
print(data)

With custom fields

from gmaps_scraper import get_google_map_details

data = get_google_map_details(
    additional_required=['Contact', 'Phone'],
    additional_optional=['Notes']
)
print(data)

With confirmation modes

from gmaps_scraper import get_google_map_details

# Only prompt if any field is missing
data = get_google_map_details(confirmation_mode="on_missing")
print(data)

# Only prompt if a required field is missing
data = get_google_map_details(confirmation_mode="on_required_missing")
print(data)

In the confirmation dialog box:

  • Fields ending with * are required—the dialog won’t proceed until you fill them when prompting.
  • Optional fields can be left blank.
  • Control prompts using confirmation_mode.

API Reference

get_google_map_details(
    additional_required: List[str] = None,
    additional_optional: List[str] = None,
    search_terms: List[str] | str = None,
    confirmation_mode: Literal["always", "on_missing", "on_required_missing"] = "always",
    debug: bool = False
) -> Dict[Tuple[str, str], Dict[str, str]]
  • additional_required: list of field names that must be filled before proceeding
  • additional_optional: list of field names that may be left blank
  • search_terms: term or list of terms to enter into Google Maps search bar
  • confirmation_mode: when to show the confirmation dialog; one of:
    • "always": always prompt (default)
    • "on_missing": prompt only if any field (required or optional) is blank
    • "on_required_missing": prompt only if a required field is blank
  • debug: if True, prints debug logs for URL changes and scraped values

License

MIT © Kanad Rishiraj (RoamingSaint)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gmaps_scraper-0.4.3.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gmaps_scraper-0.4.3-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file gmaps_scraper-0.4.3.tar.gz.

File metadata

  • Download URL: gmaps_scraper-0.4.3.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for gmaps_scraper-0.4.3.tar.gz
Algorithm Hash digest
SHA256 0fa883a524adbcccc61e31c2f0e4c2b5a42557cab2c688ebf754350ded638d61
MD5 d8e70a3ca89846e4ac9a2f85af7b1759
BLAKE2b-256 abd7c3746930937a4b984d3caea4cc66f42bd546ce3629600033548eedebc93d

See more details on using hashes here.

File details

Details for the file gmaps_scraper-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: gmaps_scraper-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for gmaps_scraper-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 56136635e31a590c8dfa398b9fc7dd5852744b6b9ecfe374af7c8a17e4025f02
MD5 218242cfe905fbc07fbb009c443bdbcc
BLAKE2b-256 33bea43cacf486c485da3826feedb851f9c338faf1a7c5228ffa94354b2b8f54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page