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
R

rchipka/node-osmosis

0
View on GitHub↗
4,110 stars·260 forks·JavaScript·21 views

Node Osmosis

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.

Its broader capabilities cover recursive link crawling, pagination handling, and web form automation. The tool also provides traffic management features such as request rate limiting through timed delays and custom HTTP header configuration.

Features

  • Web Crawlers - Functions as a programmable web crawler for asynchronously visiting URLs and extracting structured data.
  • Web Scraping and Extraction - Implements a framework for parsing HTML and using selectors to extract structured data from websites.
  • Web Scraping Frameworks - Offers a comprehensive framework for automating data extraction from websites via programmatic workflows.
  • DOM Tree Construction - Converts raw HTML and XML strings into a hierarchical document object model for programmatic extraction.
  • CSS and XPath Query Engines - Provides a query engine that locates page elements using both CSS3 selectors and XPath 1.0 expressions.
  • HTML Selector Extractors - Implements CSS and XPath selectors to extract structured data from HTML and XML documents.
  • CSS Selector - Extracts specific fields from HTML pages by evaluating CSS selectors against the DOM.
  • HTTP Request Management - Provides comprehensive tools for executing and managing the lifecycle of HTTP requests including custom headers and proxies.
  • XML and HTML Document Parsers - Parses HTML and XML content from strings into searchable in-memory document trees.
  • Cookie-Based Session Management - Manages authenticated sessions by storing and matching cookies with domain and path specificity.
  • Hybrid CSS-XPath Selectors - Retrieves specific elements and attributes using a hybrid of CSS and XPath syntax.
  • HTTP Request Managers - Manages HTTP communication parameters, including cookies, custom headers, and proxy rotation.
  • Web Crawling - Systematically discovers and navigates web content across domains for large-scale data collection.
  • Domain-Restricted Link Navigation - Navigates through linked pages with configurable restrictions on internal and external domains.
  • JavaScript Content Retrievals - Retrieves content from pages where data is generated dynamically via JavaScript by simulating events.
  • Web Page Pagination Discovery - Automatically identifies and follows pagination links to traverse multi-page result sets.
  • Recursive Web Discovery - Automatically discovers new pages by following hyperlinks recursively through website hierarchies.
  • Custom Request Headers - Allows the definition of custom key-value pairs in outgoing HTTP request headers.
  • Proxy Request Routers - Distributes outgoing requests across a pool of proxies to mask the origin IP and avoid bans.
  • Proxy and User-Agent Rotation Middleware - Ships middleware that rotates proxies and user-agent strings to avoid detection during request processing.
  • Proxy Routing - Distributes outgoing requests across multiple proxy servers to avoid IP-based rate limits.
  • DOM Event Execution Environments - Provides an environment to run scripts that interact with dynamic content and trigger DOM events.
  • Element-Targeted JavaScript Execution - Runs JavaScript within the document to interact with dynamic content and trigger DOM events.
  • Randomized Request Delays - Inserts configurable pauses between requests to mimic human browsing patterns and avoid server rate limits.
  • Request Rate Limiting - Introduces timed delays between requests to prevent server overload and evade detection.
  • Dynamic Element Event Handling - Handles event listeners and scripts to interact with elements added to the DOM asynchronously.
  • Programmatic Form Submissions - Triggers web form submissions programmatically by simulating button clicks and handling attributes.
  • Dynamic Content Extraction - Extracts data from JavaScript-heavy pages by simulating browser events and rendering dynamic content.
  • Contextual - Requests content using URLs dynamically constructed from request info, data objects, or context searches.
  • Web Form Filling Tools - Provides tools to programmatically fill and submit web forms to access gated content.
  • JavaScript Crawling Frameworks - HTML/XML parser and scraper for Node.js.
  • Web Scraping - HTML/XML parser and web scraper.

Star history

Star history chart for rchipka/node-osmosisStar history chart for rchipka/node-osmosis

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

Frequently asked questions

What does rchipka/node-osmosis do?

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.

What are the main features of rchipka/node-osmosis?

The main features of rchipka/node-osmosis are: Web Crawlers, Web Scraping and Extraction, Web Scraping Frameworks, DOM Tree Construction, CSS and XPath Query Engines, HTML Selector Extractors, CSS Selector, HTTP Request Management.

Which projects share features with rchipka/node-osmosis?

Projects with overlapping indexed features include: bda-research/node-crawler — node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It… remitchell/python-scraping — This project is a Python web scraping library and automated data collection suite. It provides tools for extracting… lapwinglabs/x-ray — X-Ray is a web scraping framework and asynchronous web crawler designed to extract structured data from websites. It… symfony/dom-crawler — This project is an HTML and XML DOM parser designed for loading and navigating the structure of web documents to… ionicabizau/scrape-it — scrape-it is a Node.js web scraper and HTML parser designed to extract structured data from websites and HTML files.… ruipgil/scraperjs — Scraperjs is a JavaScript web scraping library and headless browser automation tool designed to extract structured…

Projects sharing features with Node Osmosis

These projects share indexed features with Node Osmosis. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • bda-research/node-crawlerbda-research avatar

    bda-research/node-crawler

    6,785View on GitHub↗

    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

    TypeScriptcheeriocrawlerextract-data
    View on GitHub↗6,785
  • remitchell/python-scrapingREMitchell avatar

    REMitchell/python-scraping

    4,714View on GitHub↗

    This project is a Python web scraping library and automated data collection suite. It provides tools for extracting structured data from websites, implementing web crawlers to navigate site links, and parsing HTML DOM structures to isolate specific elements and attributes. The toolkit includes a pipeline for processing unstructured text and cleaning raw web content to extract meaningful information. It also features capabilities for image data extraction and the integration of external APIs to retrieve structured data from remote endpoints. The system covers broad capability areas including

    Jupyter Notebook
    View on GitHub↗4,714
  • 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
  • symfony/dom-crawlersymfony avatar

    symfony/dom-crawler

    4,043View on GitHub↗

    This project is an HTML and XML DOM parser designed for loading and navigating the structure of web documents to extract specific data points. It functions as a web scraping utility that provides a system for locating precise elements using a CSS and XPath selector engine. The library includes a URI resolver that converts relative links found in documents into absolute addresses using a base URI. It provides a set of tools for retrieving text, attributes, and media sources from parsed content. The toolset covers document hierarchy traversal, selector-based filtering, and text extraction with

    PHP
    View on GitHub↗4,043
  • Compare all 30 related projects→