This project allows you to scrape business details from Google Maps (including Open Hours and Popular Times) and view the results in a nice web interface.
- Python 3.8+
- PHP 7.4+ (for the viewer)
- Google Chrome (for Playwright)
# Make script executable and run
chmod +x run.sh
./run.shThis will:
- Set up a Python virtual environment
- Install all dependencies
- Start the PHP web server
- Open your browser to the interface
- Provide instructions for running the scraper
# Create virtual environment
python -m venv .venv
# Activate (Windows)
.venv\Scripts\activate
# Or (macOS/Linux)
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
playwright install chromium
# Start PHP server
php -S localhost:8000
# Run scraper (in another terminal)
python scraper.py "restaurants near arugambay"# Activate virtual environment first
source .venv/bin/activate # macOS/Linux
# or
.venv\Scripts\activate # Windows
# Run with your query
python scraper.py "your search query"Results are saved in scrapings/query_name/timestamp.json.
The web interface provides:
- Browse all scraped places
- Search and filter results
- Follow/unfollow places
- View detailed information
- Deep Scraping: Extracts Name, Address, Phone, Website, Ratings, Reviews, Weekly Open Hours, and Popular Times
- Infinite Scroll: Automatically scrolls to find all results
- Parallel Processing: Uses async Playwright for speed
- Clean Interface: Bootstrap-based viewer with search functionality
- Follow System: Mark places you're interested in
├── scraper.py # Main scraping script
├── index.php # Web interface
├── run.sh # macOS setup script
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore rules
└── scrapings/ # Scraped data (auto-generated)
To host this online:
- Upload to your web server
- Ensure
scrapings/folder is writable - Point your domain to the folder
- Access via browser
MIT License - feel free to use and modify.