Skip to content

Youdahe123/hackharvard

Repository files navigation

ScrapeRuntime — Distributed Headless Commerce Extraction Engine

ScrapeRuntime is an event-driven, headless browser execution system that performs automated product discovery and structured data extraction across dynamic e-commerce surfaces. The system leverages programmatic browser orchestration, resilient scraping strategies, and multi-format persistence pipelines to convert unstructured retail pages into normalized, queryable datasets.


System Capabilities

  • Headless Browser Orchestration
    Executes deterministic navigation workflows using Puppeteer to interact with JavaScript-heavy, client-rendered environments.

  • Multi-Site Extraction Engine
    Supports heterogeneous DOM structures (e.g., ASOS, Amazon) with adaptive selector strategies and fallback heuristics.

  • Structured Data Normalization
    Extracts and standardizes product metadata including URLs, titles, pricing, ratings, and media assets.

  • Pagination Traversal
    Implements iterative crawling across paginated result sets with stateful navigation tracking.

  • Multi-Format Persistence Layer
    Serializes extracted data into JSON, CSV, and SQLite-backed relational storage.

  • CLI-Driven Execution Interface
    Provides a composable command-line interface for search queries, batch jobs, and dataset retrieval.

  • Fault-Tolerant Execution
    Incorporates retry logic, timeout handling, and anti-bot mitigation strategies.


System Architecture

Execution Layer (Node.js / Puppeteer)

  • Browser Controller
    Manages headless Chromium instances, navigation lifecycles, and DOM interaction.

  • Scraper Modules
    Site-specific extraction logic with selector abstraction and resilience mechanisms.

  • Traversal Engine
    Handles pagination, query injection, and result aggregation.


Data Layer

  • Normalization Pipeline
    Transforms raw DOM nodes into structured product schemas.

  • Persistence Engine

    • JSON serialization for lightweight storage
    • CSV export for analytics workflows
    • SQLite integration for relational querying

Interface Layer

  • Command Line Interface (CLI)
    Enables:

    • Parameterized search queries
    • Site selection
    • Pagination depth control
    • Output format specification
  • Interactive Session Mode
    Maintains persistent execution context for iterative queries.

About

ScrapeRuntime is a distributed headless browser execution engine that performs automated product discovery and structured data extraction across dynamic e-commerce platforms, combining Puppeteer-based navigation, resilient DOM parsing, and multi-format data pipelines to generate normalized, queryable datasets at scale

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors