Back to ProjectsAutomation
SoukCompare
Scraper and price-comparison aggregator covering major Lebanese e-commerce sites, surfacing the best price per product across retailers.
Languages
Python
Skills & Tech
PythonWeb ScrapingSeleniumData Pipeline

Overview
SoukCompare Lebanon aggregates product listings and prices across major Lebanese e-commerce sites to surface the best available price per item, refreshed on a regular schedule.
The Hard Part
Each retailer's site structure and product naming differ, so matching "the same product" across sources reliably was the hard part — not just scraping pages, but normalizing listings enough to make an apples-to-apples price comparison.
What I Built
- Parallel multi-site scraping — one scraper per retailer, run concurrently
- Product matching and normalization across differently structured listings
- Price comparison output surfacing the lowest price with a direct source link
- Scheduled refresh cycle keeping prices current without manual reruns
Tech Stack
- Language: Python
- Scraping: Selenium, BeautifulSoup
- Storage: PostgreSQL
- Scheduling: Cron
Key Decisions
- Ran one scraper per retailer concurrently rather than a single generalized scraper, since each Lebanese e-commerce site's structure and product naming differed enough that a shared scraper would have been fragile
- Invested in product matching/normalization as the core hard problem, recognizing that scraping the pages was the easy part compared to reliably identifying "the same product" across differently structured listings
Outcome / Impact
Delivered a working, regularly refreshed price-comparison dataset spanning multiple major Lebanese retailers.