Thanks for your interest in contributing! This project is built and maintained by the SoClose community. Whether you're fixing a bug, adding a feature, or improving docs β every contribution counts.
- Fork this repository
- Clone your fork locally:
git clone https://github.com/<your-username>/GoogleMapScraper.git cd GoogleMapScraper
- Create a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate pip install -r requirements.txt - Create a feature branch:
git checkout -b feature/my-feature
- Keep it simple β this is the Light Edition, not an enterprise framework
- Follow existing patterns in the codebase
- Use descriptive variable and function names
- Add docstrings to new functions
- Use
logginginstead ofprint()for output
- One feature or fix per PR
- Write a clear description of what changed and why
- Test your changes before submitting
- Keep PRs small and focused
Use clear, descriptive commit messages:
Add proxy rotation support
Fix CSV encoding issue on Windows
Update README with new usage examples
Here are some features the community would love to see:
- New data fields β ratings, review count, business category, Google Maps place ID
- Export formats β JSON, Excel (.xlsx), SQLite
- Proxy support β rotate proxies to avoid rate limiting
- Multi-threading β scrape multiple places in parallel
- Search by area β scrape all businesses in a geographic zone
- Duplicate detection β skip places already scraped
- Tests β unit tests for parsing logic
- Docker support β containerized deployment
Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your OS and Python version
Join the SoClose community at soclose.com to discuss ideas, get help, and collaborate on projects.
Thank you for making this project better!