SiteToSheet is a Python project that combines web scraping, natural language processing, and Google API integration to extract data from websites and store it in Google Sheets.
This project requires Python 3.7 or later. To set up the project environment:
- Clone the repository:
- Create a virtual environment:
- Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
- Install the required packages:
This project relies on several key libraries:
- Web Scraping: BeautifulSoup4
- Natural Language Processing: spaCy (with en_core_web_sm model)
- Google API Integration: google-api-python-client, gspread
- Data Manipulation: pandas, numpy
- Mapping: googlemaps
- Environment Management: python-dotenv
- Rate Limiting: ratelimit
For a complete list of dependencies, see the requirements.txt
file.
- Set up Google Cloud Project and enable necessary APIs (Sheets, Maps).
- Create and download a
credentials.json
file for Google API authentication. - Create a
.env
file in the project root and add your API keys:
An example on how to use the tool will be provided on my portfolio website. For now you just have to ask :)
- Web scraping with BeautifulSoup4
- Natural language processing with spaCy
- Google Sheets integration for data storage
- Google Maps API for geolocation services
- Rate limiting to respect API usage limits
This project is licensed under the MIT License - see the LICENSE file for details.
This project uses the following third-party services and libraries:
- Google Maps Distance Matrix API: Subject to the Google Maps Platform Terms of Service
- Google Sheets API: Subject to the Google APIs Terms of Service
- spaCy: Licensed under the MIT License
Users of this software are responsible for ensuring their own compliance with the terms of these services and libraries.
This project makes use of several open-source libraries and APIs. We thank the maintainers and contributors of these projects.