Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Google Map Scraping is a Python-based project designed to automate the extraction of location-specific data from Google Maps. The project allows users to specify a place name and search term to generate detailed information about businesses or locations.

Notifications You must be signed in to change notification settings

Vergil1000x/Google_Map_Scraper

Open more actions menu

Repository files navigation

Google Map Scraping

“Larger the area longer it will take.” - Yoda

Introduction

This project provides a suite of Python scripts to scrape and extract information from Google Maps and Instagram based on a specified location and search term. It generates Excel files containing useful links and detailed information related to your search.

Project Overview

  • scrape_step_0_location.py: Geocodes the place to get its bounding box.
  • scrape_step_1_links.py: Scrapes Google Maps links based on the search term and location.
  • scrape_step_2_extract.py: Extracts detailed information from the Google Maps links.
  • scrape_step_3_insta.py: Scrapes Instagram links related to the search term.
  • scrape_step_4_check.py: Checks if the current location is within the specified "place name."
  • scrape_step_5_compile.py: Orchestrates the execution of the above scripts and manages file creation.
  • scrape_step_6_generate.py: Generates Excel files for storing the scraped data.
  • scrape_step_7_user.py: User-configurable script to specify place and search term.

Prerequisites

Installation

  1. Clone the Repository

    git clone https://github.com/Vergil1000x/Google_Map_Scraper.git
    cd Google-Map-Scraper
  2. Install Dependencies

    pip install geopy openpyxl selenium playwright beautifulsoup4 pandas
    playwright install

Usage

  1. Configure scrape_step_7_user.py

    Open scrape_step_7_user.py and set the place_name and search_term variables, on line 6 and line 7:

    place_name = "Varanasi"
    search_term = "Aesthetic Clinic"
  2. Run the Script

    Execute scrape_step_7_user.py to start the scraping process:

    python scrape_step_7_user.py

    This will generate three Excel files in your folder with the following format:

    • {place_name}_{search_term}_{timestamp}_input.xlsx: Contains Google Maps links.
    • {place_name}_{search_term}_{timestamp}_output.xlsx: Contains details of the search term in the given place.
    • {place_name}_{search_term}_{timestamp}_insta.xlsx: Contains Instagram links related to the search term.

Examples

Example files generated might look like:

  • Varanasi_Aesthetic Clinic_2002-02-20_input.xlsx
  • Varanasi_Aesthetic Clinic_2002-02-20_output.xlsx
  • Varanasi_Aesthetic Clinic_2002-02-20_insta.xlsx

Tips

  1. Configure scrape_step_2_extract.py

    In line 93, you can adjust the value 3 to any number to optimize performance based on your needs. For example:

    semaphore = asyncio.Semaphore(3)

    Increasing the value allows more concurrent tasks, which might speed up scraping but could also increase resource usage.

  2. Configure scrape_step_3_insta.py

    Similarly, in line 62, you can change the value 5 to better suit your performance requirements:

    semaphore = asyncio.Semaphore(5)

    Adjusting this value can help balance between scraping speed and system load.

Troubleshooting

Contributing

Contributions are welcome!

About

Google Map Scraping is a Python-based project designed to automate the extraction of location-specific data from Google Maps. The project allows users to specify a place name and search term to generate detailed information about businesses or locations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.