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
SoukCompare

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.

Interested in similar work?

Let's discuss your next project.

Contact Me