1 pointby DomHarvest3 hours ago1 comment
  • DomHarvest3 hours ago
    I built domharvest-playwright to solve a problem I kept hitting as a freelance scraper: clients' scrapers breaking when sites redesign.

    Instead of brittle CSS selectors, you describe what you want semantically:

      extract('price').near('Add to Cart')
      extract('title').inside('product card')
    
    The library uses fuzzy matching and proximity scoring to find elements even when class names or structure change. Built on Playwright with retry logic, rate limiting, and batch processing.

    MIT licensed. Would love feedback from the community.