A Python-based bot that scrapes VPS hosting websites to track the latest prices, detect discounts, and identify the best deals. This project is community-driven, and contributions are welcome!
- Scrapes VPS hosting prices from multiple providers.
- Detects price changes and alerts when discounts are available.
- Saves data to a local SQLite database for historical tracking.
- Easy to schedule periodic updates using
APScheduler. - Modular and customizable scraping logic.
- Python 3.8+
- Basic knowledge of web scraping and Python.
git clone https://github.com/your-username/vps-price-tracker.git
cd vps-price-tracker
### **2. Install Required Libraries**
```bash
pip install -r requirements.txtRun the script to set up the database:
python tracker.pyRun the main script to start scraping and detecting price updates:
python tracker.pyModify the [schedule.every(6).hours.do(scrape_vps_prices)] line in the script to adjust the scraping frequency.
Edit the [providers] dictionary in [tracker.py] to include new VPS hosting providers and their plan pages:
providers = {
"ProviderA": "https://example.com/plans",
"ProviderB": "https://otherexample.com/vps"
}The bot prints updates about price changes and newly added plans directly in the console.
We welcome contributions to improve and expand this project! Here's how you can get involved: 1. Fork the repository. 2. Create a new branch for your feature or fix. 3. Submit a pull request with a clear description of your changes.
- Add support for new providers.
- Integrate Telegram/Email notifications.
- Optimize the scraping logic (e.g., use Selenium for dynamic content).
- Add a web-based dashboard for price tracking.
- Support cloud database options (MySQL/PostgreSQL).
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the open-source community fot their inspiration adn tools like [BeautifullSoup], [request], and [sqlite3] that made this project possible.
Have questions, or need help? Open an issue in the repository or contact [your-email/username].