awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bda-research avatar

bda-research/node-crawler

0
View on GitHub↗
6,785 Stars·877 Forks·TypeScript·mit·4 Aufrufe

Node Crawler

node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication.

The project distinguishes itself through a proxy rotation manager that cycles user agents and proxy servers to bypass access restrictions. It utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping operations.

The system covers a broad range of capabilities, including traffic management with independent rate limiting and automatic request retries. It provides content processing tools for XML and HTML parsing via CSS selectors, as well as binary file downloading and character encoding normalization to standard UTF-8.

Features

  • Web Crawling - Queues and visits large sets of URLs asynchronously while managing request retries and preventing duplicate processing.
  • Web Crawlers - Provides a programmable Node.js framework for managing request queues and automating data extraction.
  • HTML Parsing - Extracts data from HTML responses using a server-side DOM implementation and CSS-style selectors.
  • Web Data Extraction - Implements programmatic scraping and processing of web content to extract structured data.
  • Asynchronous Crawl Queues - Manages asynchronous crawl queues for long-running data extraction jobs.
  • HTML Parsers - Includes a headless parser that converts HTML responses into a DOM structure for data extraction.
  • High Performance Scraping - Uses HTTP/2 and concurrent connection management to collect data quickly while respecting target server load limits.
  • Multi-Protocol Handlers - Supports both HTTP/1.1 and HTTP/2 protocols to optimize connection performance and ensure server compatibility.
  • HTTP/2 Support - Implements HTTP/2 support to enhance request performance and ensure compatibility with modern servers during large-scale scraping.
  • Proxy Rotation Services - Distributes network traffic across a pool of proxy servers to bypass rate limits.
  • Proxy and Fingerprint Rotation - Distributes outgoing network traffic across a pool of proxy servers and user agents to bypass access restrictions.
  • User Agent Rotation - Cycles through different user agent strings to mimic various browser environments and avoid detection.
  • Asynchronous Task Queues - Manages a list of URLs for asynchronous retrieval while preventing duplicate entries through task deduplication.
  • Request Rate Limiting - Limits the frequency of outgoing requests and concurrent connections to prevent server overload.
  • ID-Based Rate Limiting - Regulates request frequency and concurrency by grouping outgoing traffic into independent buckets mapped to specific target IDs.
  • Rate-Limited Clients - Ships a request client with built-in concurrency controls and per-target rate limiting.
  • XML Parsing - Processes page content by recognizing MIME types and using DOM manipulation to extract data from XML.
  • Request Retries - Automatically attempts to refetch failed pages to increase the success rate of data collection.
  • JSON Response Parsers - Includes utilities to treat response bodies as JSON and disable HTML parsing for simplified API data extraction.
  • Pre-Request Logic Hooks - Executes custom synchronous or asynchronous functions before each queued request to modify options or prepare state.
  • Crawlers - Utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping.
  • MIME-Aware Content Parsers - Detects response types to switch between raw binary downloads, JSON extraction, or DOM-based HTML and XML processing.
  • Remote File Downloads - Retrieves raw response bodies without string conversion to save images, PDFs, and other non-text assets.
  • Request Header Configuration - Allows the configuration of custom HTTP headers globally or per request to manage client identification.
  • Crawler Lifecycle Hooks - Provides event-driven hooks to trigger custom logic during task scheduling, request dispatch, and queue drainage.
  • URL Request Tracking - Tracks visited URLs in a local registry to prevent redundant network requests.
  • Target-Based - Groups requests by ID so that different targets or proxies maintain distinct rate limits and connection caps.
  • Encoding Normalizers - Analyzes response headers and meta tags to normalize diverse character sets into a standard UTF-8 format.
  • Duplicate Prevention - Prevents the same URL or task from entering the queue multiple times to avoid redundant processing.
  • JavaScript Crawling Frameworks - Simple API-driven crawler for Node.js.
  • Web Scraping - Web crawler with jQuery-like parsing.

Star-Verlauf

Star-Verlauf für bda-research/node-crawlerStar-Verlauf für bda-research/node-crawler

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Node Crawler

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Node Crawler.
  • apify/crawleeAvatar von apify

    apify/crawlee

    24,002Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗24,002
  • apify/crawlee-pythonAvatar von apify

    apify/crawlee-python

    8,097Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗8,097
  • rchipka/node-osmosisR

    rchipka/node-osmosis

    4,110Auf GitHub ansehen↗

    This project is a Node.js web scraping framework designed to automate data extraction through a programmatic workflow of requests, parsing, and document interaction. It functions as a headless web crawler, an HTTP request manager, and a DOM parser and extractor. The framework distinguishes itself by combining a JavaScript execution engine to interact with dynamic content and a hybrid selection system that utilizes both CSS and XPath selectors. It includes specialized middleware for proxy rotation and cookie-jar session management to maintain authenticated states and manage automated traffic.

    JavaScript
    Auf GitHub ansehen↗4,110
  • lapwinglabs/x-rayAvatar von lapwinglabs

    lapwinglabs/x-ray

    5,904Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,904
Alle 30 Alternativen zu Node Crawler anzeigen→

Häufig gestellte Fragen

Was macht bda-research/node-crawler?

node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication.

Was sind die Hauptfunktionen von bda-research/node-crawler?

Die Hauptfunktionen von bda-research/node-crawler sind: Web Crawling, Web Crawlers, HTML Parsing, Web Data Extraction, Asynchronous Crawl Queues, HTML Parsers, High Performance Scraping, Multi-Protocol Handlers.

Welche Open-Source-Alternativen gibt es zu bda-research/node-crawler?

Open-Source-Alternativen zu bda-research/node-crawler sind unter anderem: apify/crawlee — Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction… apify/crawlee-python — Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive… rchipka/node-osmosis — This project is a Node.js web scraping framework designed to automate data extraction through a programmatic workflow… lapwinglabs/x-ray — X-Ray is a web scraping framework and asynchronous web crawler designed to extract structured data from websites. It… ionicabizau/scrape-it — scrape-it is a Node.js web scraper and HTML parser designed to extract structured data from websites and HTML files.… forwardemail/superagent — Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both…