16 dépôts
Node.js libraries for web scraping, browser automation, and crawling.
Explore 16 awesome GitHub repositories matching part of an awesome list · JavaScript Crawling Frameworks. Refine with filters or upvote what's useful.
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
Reliable browser automation and scraping library.
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 syst
Simple API-driven crawler for Node.js.
X-Ray est un framework de scraping web et un crawler web asynchrone conçu pour extraire des données structurées à partir de sites web. Il fonctionne comme un extracteur de données HTML qui transforme le contenu brut de la page en un schéma défini en utilisant des sélecteurs de style CSS. Le projet implémente un crawler de navigateur headless capable d'exécuter du JavaScript pour rendre du contenu dynamique. Il gère la découverte de contenu de site web via une stratégie de crawling en largeur d'abord et la découverte automatique de pagination pour traverser les jeux de résultats multi-pages. Le framework gère les pipelines de données web en utilisant une file d'attente de requêtes à concurrence limitée et un contrôle du taux de requête pour réguler les appels réseau sortants. Les résultats extraits sont gérés via une persistance de données basée sur les flux pour traiter de grands jeux de données sans surcharger la mémoire système.
Web scraper with pagination and crawler support.
Naabu is a port scanner library and tool that probes hosts for open ports using SYN, CONNECT, and UDP methods to identify active services. It functions as a Go library for embedding port scanning into programs, and as a standalone tool that accepts targets as hostnames, IP addresses, CIDR ranges, or ASN numbers. The tool discovers live hosts before scanning, filters ports by range or top lists, and can integrate with Nmap for service version detection. The project distinguishes itself through its SYN-based port probing approach that sends TCP SYN packets and analyzes responses without complet
Parses JavaScript files during crawling to discover hidden API endpoints and routes.
Ce projet est un framework distribué de crawling web headless Chrome et d'extraction de données. Il fonctionne comme un moteur de rendu JavaScript qui utilise un navigateur headless pour traiter les pages dynamiques, extrayant des données structurées à partir de sites web nécessitant l'exécution de JavaScript. Le système est conçu pour la collecte de données évolutive sur plusieurs nœuds, utilisant la synchronisation de tâches distribuée et des caches partagés pour éviter le travail en double. Il se distingue par sa capacité à émuler des environnements clients spécifiques en configurant les user agents et les dimensions de la fenêtre d'affichage, tout en capturant des preuves visuelles telles que des captures d'écran de pages. Le framework couvre une gestion complète du crawl, incluant la planification des requêtes par file d'attente prioritaire, le parcours en profondeur et en largeur, et le respect des fichiers robots.txt et sitemap.xml. Il fournit des outils pour limiter la concurrence, surveiller les événements et streamer les données extraites aux formats CSV ou JSON.
Headless Chrome crawler with jQuery support.
Hakrawler is a command-line web spider tool designed for security reconnaissance, built to crawl target websites and extract hyperlinks along with JavaScript file references. As a focused reconnaissance utility, it collects every discoverable URL and script source from a given domain, mapping the attack surface for penetration testing and vulnerability assessment. The tool differentiates itself through its concurrent architecture: a fixed-size goroutine pool fetches pages in parallel, while CSS selectors parse HTML to extract anchor and script references. A depth-aware recursion limiter preve
Extracts JavaScript file locations from web pages to find potential endpoints or hidden functionality.
LinkFinder is a security reconnaissance and static analysis tool designed for JavaScript endpoint discovery. It extracts absolute and relative URLs and parameters from JavaScript files to map the attack surface of web applications and identify hidden API routes. The tool operates through static code analysis and regular expression pattern matching to find endpoints without executing the source code. It includes a data processor for importing exported files from Burp Suite, enabling the batch analysis of multiple JavaScript assets in a single execution. The system provides capabilities for do
Extracts URLs and routes from JavaScript code using regular expressions to uncover hidden API endpoints.
Ce projet est un framework de web scraping Node.js conçu pour automatiser l'extraction de données via un flux de travail programmatique de requêtes, d'analyse et d'interaction avec les documents. Il fonctionne comme un crawler web headless, un gestionnaire de requêtes HTTP, ainsi qu'un analyseur et extracteur DOM. Le framework se distingue en combinant un moteur d'exécution JavaScript pour interagir avec le contenu dynamique et un système de sélection hybride qui utilise à la fois des sélecteurs CSS et XPath. Il inclut un middleware spécialisé pour la rotation de proxy et la gestion de session cookie-jar afin de maintenir les états authentifiés et de gérer le trafic automatisé. Ses capacités plus larges couvrent le crawling de liens récursif, la gestion de la pagination et l'automatisation des formulaires web. L'outil fournit également des fonctionnalités de gestion du trafic telles que la limitation du taux de requêtes via des délais temporisés et une configuration personnalisée des en-têtes HTTP.
HTML/XML parser and scraper for Node.js.
scrape-it is a Node.js web scraper and HTML parser designed to extract structured data from websites and HTML files. It functions as a web data extraction tool that retrieves specific information from DOM elements and converts web content into usable data fields. The tool uses CSS selectors to target specific data points and employs schema-driven data mapping to organize unstructured web text into a consistent format. It supports custom value transformation to convert raw extracted strings into specific data formats. The system provides capabilities for web data extraction and automated cont
Human-friendly scraper for Node.js.
Scraperjs is a JavaScript web scraping library and headless browser automation tool designed to extract structured data from both static HTML and JavaScript-rendered websites. It functions as an asynchronous scraping workflow orchestrator and a selector-based engine for transforming unstructured web content into usable data. The library distinguishes itself by managing a shared browser instance across multiple tasks to optimize resource usage and reduce startup latency. It supports custom script injection into sandboxed browser environments to manipulate the DOM or execute browser-side logic
Versatile web scraper for Node.js.
simplecrawler is designed to provide a basic, flexible and robust API for crawling websites. It was written to archive, analyse, and search some very large websites and has happily chewed through hundreds of thousands of pages and written tens of gigabytes to disk without issue.
Event-driven web crawler for Node.js.
Web Scraper is a chrome browser extension built for data extraction from web pages. Using this extension you can create a plan (sitemap) how a web site should be traversed and what should be extracted. Using these sitemaps the Web Scraper will navigate the site accordingly and extract all data.…
Browser-based data extraction tool.
Webster is a reliable web crawling and scraping framework written with Node.js, used to crawl websites and extract structured data from their pages.
Framework for scraping AJAX and JavaScript-rendered content.
Supercrawler is a Node.js web crawler. It is designed to be highly configurable and easy to use.
Crawler with custom handlers and rate limiting.
js-crawler
Node.js crawler supporting HTTP and HTTPS.
Squidwarc is a high fidelity, user scriptable, archival crawler that uses Chrome or Chromium with or without a head.
High-fidelity archival crawler using Chrome.