awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
yujiosaka avatar

yujiosaka/headless-chrome-crawler

0
View on GitHub↗
5,643 stars·404 forks·JavaScript·MIT·23 views

Headless Chrome Crawler

This project is a distributed headless Chrome web crawler and data extraction framework. It functions as a JavaScript rendering engine that uses a headless browser to process dynamic pages, extracting structured data from websites that require JavaScript execution.

The system is designed for scalable data collection across multiple nodes, using distributed task synchronization and shared caches to prevent duplicate work. It distinguishes itself through the ability to emulate specific client environments by configuring user agents and viewport dimensions, while capturing visual evidence such as page screenshots.

The framework covers comprehensive crawl management, including priority-queue request scheduling, depth-first and breadth-first traversal, and adherence to robots.txt and sitemap.xml files. It provides tools for concurrency limiting, event monitoring, and streaming extracted data into CSV or JSON formats.

Features

  • Headless Rendering Engines - Provides a headless Chrome rendering engine to execute JavaScript and process dynamic page content.
  • Website Crawlers and Scrapers - Implements a recursive website crawler and scraper that handles navigation and converts pages into structured formats.
  • JavaScript Rendering - Provides retrieval of data from dynamic pages by executing JavaScript via headless browsers before parsing HTML.
  • Distributed Cache Synchronizers - Uses distributed cache synchronizers to track requested URLs across multiple servers and prevent duplicate work.
  • Distributed Web Crawling - Scales data collection across multiple nodes using coordinated request queues for large-scale web crawling.
  • Crawl History Deduplication - Prevents duplicate network requests by storing a history of visited URLs in an external database.
  • Structured Data Extraction - Collects specific information from website link hierarchies and extracts it into structured CSV or JSON formats.
  • Domain-Restricted Crawling - Navigates website links and implements domain-restricted crawling to discover pages up to a specified depth.
  • URL Traversal Queues - Manages the discovery of new pages and the overall traversal path using URL traversal queues.
  • Distributed State Synchronization - Synchronizes crawl state and visited URL history across distributed server instances using a shared remote cache.
  • Crawl Request Queues - Queues URLs for processing with priorities, delays, and retry logic using distributed crawl request queues.
  • Priority-Based Request Queues - Organizes page traversal using priority-based request queues to optimize the order of website visits.
  • JavaScript-Rendered Content Extractors - Extracts structured data from heavy pages by waiting for JavaScript-rendered content to load.
  • Headless Crawlers - Uses a headless browser to navigate JavaScript-heavy applications and discover hidden endpoints.
  • Distributed Crawl State Stores - Uses shared storage backends to track visited URLs and crawl progress across a cluster of workers.
  • Structured Data Export Utilities - Streams collected information to external files using configurable field filters for CSV and JSON Lines.
  • Stream-Based Exporters - Streams extracted page information directly into CSV or JSON Lines files for high-volume output.
  • Client Environment Emulations - Simulates specific client environments by configuring user agents, viewport dimensions, and device profiles.
  • Headless Browser Configurations - Configures rendering timeouts, viewport dimensions, and launch flags for headless browser instances.
  • Session Concurrency Limiters - Implements controls to cap the number of simultaneous browser sessions to prevent system resource exhaustion.
  • Distributed Crawl Workload Distribution - Partitions web scraping tasks across multiple server instances using a shared queue to increase throughput.
  • Crawl Traversal Strategies - Organizes the sequence of page visits using depth-first search and breadth-first search algorithms.
  • CDP Screenshot Captures - Captures page screenshots and metadata using the Chrome DevTools Protocol through custom evaluation functions.
  • URL Request Tracking - Maintains a registry of fetched URLs to prevent redundant network requests and improve processing speed.
  • Concurrent Request Limits - Restricts the number of simultaneous requests to manage system resources and prevent target server overload.
  • Request Flow Control - Manages system stability through concurrency capping, delays, and request flow control.
  • Robots Exclusion Compliance - Ensures adherence to site-specific crawling rules defined in robots.txt files.
  • Robots.txt Compliance - Governs crawl paths by parsing site-specific access rules and sitemap.xml files.
  • SEO and Compliance Scanning - Crawls websites while respecting robots.txt and sitemap.xml files to analyze site structure and indexing patterns.
  • JavaScript Crawling Frameworks - Headless Chrome crawler with jQuery support.
  • Web Scraping - Distributed crawler using headless Chrome.

Star history

Star history chart for yujiosaka/headless-chrome-crawlerStar history chart for yujiosaka/headless-chrome-crawler

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Headless Chrome Crawler

These projects share indexed features with Headless Chrome Crawler. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • lapwinglabs/x-raylapwinglabs avatar

    lapwinglabs/x-ray

    5,904View on GitHub↗

    X-Ray is a web scraping framework and asynchronous web crawler designed to extract structured data from websites. It functions as an HTML data extractor that transforms raw page content into a defined schema using CSS-style selectors. The project implements a headless browser crawler capable of executing JavaScript to render dynamic content. It handles website content discovery through a breadth-first crawling strategy and automatic pagination discovery to traverse multi-page result sets. The framework manages web data pipelines using a concurrency-limited request queue and request rate cont

    JavaScript
    View on GitHub↗5,904
  • apify/crawlee-pythonapify avatar

    apify/crawlee-python

    8,097View on GitHub↗

    Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive tool for web scraping automation, providing a system to extract structured data from websites using both lightweight HTTP requests and headless browser automation. The framework is distinguished by its anti-bot evasion capabilities, which include browser fingerprint impersonation and tiered proxy rotation to bypass detection systems and solve challenges such as Cloudflare. It also incorporates artificial intelligence for autonomous website navigation and schema-based data extra

    Pythonapifyautomationbeautifulsoup
    View on GitHub↗8,097
  • apify/crawleeapify avatar

    apify/crawlee

    24,002View on GitHub↗

    Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction pipelines. It provides a unified interface for managing headless browser automation and lightweight HTTP requests, allowing developers to handle complex web navigation, dynamic content rendering, and large-scale data collection within a single, modular architecture. The project distinguishes itself through its resource-aware concurrency controller, which dynamically scales task execution based on real-time CPU and memory usage to prevent host machine exhaustion. It also features a rob

    TypeScriptapifyautomationcrawler
    View on GitHub↗24,002
  • rolando/scrapy-redisrolando avatar

    rolando/scrapy-redis

    5,639View on GitHub↗

    This project is a distributed web crawling framework that enables the horizontal scaling of scraping tasks. It uses Redis as a centralized request queue manager and state store to coordinate crawl progress and request metadata across multiple server instances. The system distributes crawling workloads by sharing a single request queue and utilizes a distributed duplicate filter to prevent multiple workers from visiting the same page. It persists complex request state and metadata as JSON strings within the shared remote store. The framework also provides capabilities for distributed data pro

    Python
    View on GitHub↗5,639
Compare all 30 related projects→

Frequently asked questions

What does yujiosaka/headless-chrome-crawler do?

This project is a distributed headless Chrome web crawler and data extraction framework. It functions as a JavaScript rendering engine that uses a headless browser to process dynamic pages, extracting structured data from websites that require JavaScript execution.

What are the main features of yujiosaka/headless-chrome-crawler?

The main features of yujiosaka/headless-chrome-crawler are: Headless Rendering Engines, Website Crawlers and Scrapers, JavaScript Rendering, Distributed Cache Synchronizers, Distributed Web Crawling, Crawl History Deduplication, Structured Data Extraction, Domain-Restricted Crawling.

Which projects share features with yujiosaka/headless-chrome-crawler?

Projects with overlapping indexed features include: lapwinglabs/x-ray — X-Ray is a web scraping framework and asynchronous web crawler designed to extract structured data from websites. It… apify/crawlee-python — Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive… apify/crawlee — Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction… rolando/scrapy-redis — This project is a distributed web crawling framework that enables the horizontal scaling of scraping tasks. It uses… binux/pyspider — PySpider is a Python web crawling framework designed for automated data extraction. It provides a pipeline for… psf/requests-html — requests-html is a Python HTML parsing library and web scraping framework. It functions as an asynchronous HTTP client…