Skip to content

nikol4ss/web-scraper-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Web-Scraper API

A price monitoring microservice built with FastAPI that performs dynamic web scraping using Selenium, processes data with Pandas, and exposes RESTful endpoints for retrieving price history and averages.

About

This project is a price monitoring microservice designed to scrape product data dynamically using Selenium and process it with Pandas. Built with FastAPI and served via Uvicorn, it exposes RESTful endpoints to trigger scraping operations and retrieve historical and average price data. The service stores results in CSV format and is structured for extensibility. Planned improvements include support for multiple e-commerce sources, integration with a relational database using PostgreSQL and SQLAlchemy, implementation of dashboards with Plotly or Streamlit, and migration to asynchronous scraping with Playwright for better scalability and performance.

Endpoints

Starts scraping and saves data to CSV.

GET /scrape/{product}

Returns historical and average prices.

GET /prices/{product}

Installation

  1. Clone this repository:
git clone https://github.com/user/voting.git
  1. (Optional but recommended) Create a virtual environment:
python -m venv .venv
source .venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Run the program
python main.py

MIT License – see the LICENSE file for details.

About

FastAPI microservice for price monitoring with Selenium and Pandas, providing REST endpoints for price history and averages.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages