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.4.tar.gz (9.8 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.4-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gmaps_scraper-0.4.4.tar.gz
  • Upload date:
  • Size: 9.8 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.4.tar.gz
Algorithm Hash digest
SHA256 9a05ea34a3938f600c992b6bbd8386bb7090c1f462fa0160097590fd8b96c33d
MD5 b441c09b0ea86f899382ad4ecea0fc84
BLAKE2b-256 50a89659869b7f28a14592c7bf2264b1f324e829a6d44a22b04c562d84da7bdf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gmaps_scraper-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 9.8 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2a4ca5706e84ebb1a0cb9bfad65eaaae95ce5f65435b5cb3fc2dc788149057c9
MD5 1a9157ef8e76871d13a4a20bb37ee20f
BLAKE2b-256 b3e2bcbd4ea44d0ac90747b10a54d7b470808caa4ed0c1c8ef0ef2145a75be81

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