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
Back to sparklemotion/nokogiri

Projects sharing features with Nokogiri

30 open-source projects similar to sparklemotion/nokogiri, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • cheeriojs/cheeriocheeriojs avatar

    cheeriojs/cheerio

    30,386View on GitHub↗

    Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation tool and CSS selector engine, allowing users to parse, query, and modify HTML or XML documents in non-browser environments. The project provides a DOM-like tree representation of markup strings, enabling programmatic addition, removal, and modification of elements and attributes. It features a prototype-based plugin system that allows the extension of core functionality by adding custom methods to the document prototype. The library covers a broad range of capabilities includi

    TypeScriptcheeriodomhacktoberfest
    View on GitHub↗30,386
  • 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
  • scinfu/swiftsoupscinfu avatar

    scinfu/SwiftSoup

    5,087View on GitHub↗

    SwiftSoup is a cross-platform HTML processing library for Swift that converts raw HTML or XML strings and files into a structured document object model. It provides the core infrastructure to parse web content into a traversable tree, enabling programmatic access to page elements across iOS, macOS, and Linux. The library features a CSS selector engine for data extraction and a whitelist-based sanitization system to remove unsafe tags and attributes from user-submitted content. It optimizes repetitive document queries through memoized query caching. The project covers DOM manipulation for upd

    Swift
    View on GitHub↗5,087

AI search

Explore more awesome repositories

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

Find more with AI search
  • anglesharp/anglesharpAngleSharp avatar

    AngleSharp/AngleSharp

    5,499View on GitHub↗

    AngleSharp is an HTML5 DOM parser and web scraping framework designed to parse HTML5, SVG, and MathML documents into a W3C compliant document object model. It functions as a programmatic HTML generator and a CSS selector engine for querying and locating specific elements within a DOM. The project provides tools for simulating browser environments to automate web interactions, navigate URLs, and submit forms. It includes a dedicated HTML and CSS minifier to reduce the file size of web assets by removing unnecessary characters. The library supports HTML DOM manipulation and the extraction of s

    C#angle-bracketanglesharpc-sharp
    View on GitHub↗5,499
  • whatwg/htmlwhatwg avatar

    whatwg/html

    9,163View on GitHub↗

    This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.

    HTMLcanvaseventsourcehtml
    View on GitHub↗9,163
  • fb55/htmlparser2fb55 avatar

    fb55/htmlparser2

    4,774View on GitHub↗

    htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par

    TypeScript
    View on GitHub↗4,774
  • inikulin/parse5inikulin avatar

    inikulin/parse5

    3,903View on GitHub↗

    parse5 is a WHATWG HTML parser and serializer for Node.js. It transforms HTML strings into a document object model and converts those trees back into valid HTML strings, following the logic defined by the HTML Living Standard. The project functions as a streaming HTML processor, using incremental parsing to handle large documents in chunks. It includes an HTML5 compliant tokenizer that uses a state-machine approach to break input into tokens according to official web specifications. The toolset covers HTML document parsing, serialization, and real-time rewriting via streams. These capabiliti

    TypeScript
    View on GitHub↗3,903
  • tmpvar/jsdomtmpvar avatar

    tmpvar/jsdom

    21,591View on GitHub↗

    jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a JavaScript execution environment and an HTML and XML parser to simulate a browser environment on the server side, implementing various web APIs and W3C standards. The project distinguishes itself by providing a sandboxed runtime for executing scripts embedded in HTML or external files. It includes specialized polyfills for the Canvas API and manages session state through HTTP cookie management. Its broader capabilities cover network interaction via request interception and resource

    JavaScript
    View on GitHub↗21,591
  • gosub-io/gosub-enginegosub-io avatar

    gosub-io/gosub-engine

    3,673View on GitHub↗

    Gosub-engine is an HTML5 browser engine and web rendering pipeline that parses HTML5 and CSS3 to compute layout and render web content to pixels. It functions as a JavaScript runtime environment with a virtual machine and event loop for handling dynamic logic and asynchronous tasks. The system also includes a web storage manager for persisting cookies, local storage, and session storage. The project features a headless browser renderer capable of generating page images or extracting plain text without a visible window. It supports cross-platform graphics rendering through pluggable CPU and GP

    Rustbrowserhtml5rust
    View on GitHub↗3,673
  • symfony/css-selectorsymfony avatar

    symfony/css-selector

    7,435View on GitHub↗

    This project is a PHP implementation of a CSS selector engine that transforms CSS selector strings into compatible XPath expressions for locating elements within documents. It serves as a converter and expression generator that maps CSS selection logic to the XPath query language. The library processes selectors through a pipeline involving lexer-based tokenization and recursive descent parsing to create an abstract syntax tree. It utilizes pattern-matching logic to handle child and sibling relationships, translating CSS pseudo-classes and selectors into functional XPath logic. These capabil

    PHPcomponentphpsymfony
    View on GitHub↗7,435
  • puerkitobio/goqueryPuerkitoBio avatar

    PuerkitoBio/goquery

    14,958View on GitHub↗

    goquery is a Go HTML parsing library and CSS selector engine used to isolate and retrieve specific text or attributes from HTML documents. It functions as an HTML DOM manipulator that converts raw HTML strings into a structured tree for programmatic navigation and search. The library provides a fluent interface for chaining selection and filtering operations and utilizes a wrapper-based abstraction to simplify data extraction and manipulation of nodes. It employs an iterator-based processing mechanism to apply operations to every node within a matched selection. Its primary capabilities cove

    Gogoqueryhtml-parsingjquery
    View on GitHub↗14,958
  • rchipka/node-osmosisR

    rchipka/node-osmosis

    4,110View on GitHub↗

    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
    View on GitHub↗4,110
  • oneuijs/you-dont-need-jqueryoneuijs avatar

    oneuijs/You-Dont-Need-jQuery

    20,161View on GitHub↗

    This project is a reference guide and collection of implementation patterns for replacing legacy libraries with native JavaScript. It provides a vanilla JavaScript reference guide, a modern web API cookbook, and a DOM manipulation cheat sheet to help migrate frontend dependencies to standard browser APIs. The project focuses on mapping library functions to native interfaces for DOM manipulation, network requests, and event handling. It includes a utility pattern library for common tasks such as string cleaning, type checking, and element styling. The covered capabilities include DOM element

    JavaScript
    View on GitHub↗20,161
  • dotnet/open-xml-sdkdotnet avatar

    dotnet/Open-XML-SDK

    4,537View on GitHub↗

    Open-XML-SDK is a library for programmatically creating, modifying, and validating Office documents based on the Open XML standard. It functions as an office file generator and XML document parser, enabling the manipulation of word processing, spreadsheet, and presentation files. The library allows for the generation and updating of document content and structure without requiring the native office applications to be installed. It utilizes strongly typed classes and a schema-validated approach to ensure that created files remain compatible and correctly structured. The project provides capab

    C#docxofficeopenxml-format
    View on GitHub↗4,537
  • 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
  • apache/jmeterapache avatar

    apache/jmeter

    9,233View on GitHub↗

    Apache JMeter is a Java-based performance testing tool and multi-protocol traffic simulator used to analyze the stability and scalability of servers and networks. It functions as a distributed load testing framework that coordinates remote worker nodes from a single controller to generate high volumes of concurrent traffic. The project is distinguished by its ability to simulate traffic across diverse backend systems, including HTTP, JDBC, LDAP, JMS, FTP, and TCP. It provides a headless command-line interface for automated execution and a reporting system that transforms raw sample logs into

    Javajavaperformancetest
    View on GitHub↗9,233
  • jhy/jsoupjhy avatar

    jhy/jsoup

    11,340View on GitHub↗

    Jsoup is a Java library designed for parsing, extracting, and manipulating HTML and XML content. It provides a document object model that represents web content as a hierarchical tree, allowing for programmatic navigation and modification of elements, attributes, and text. The library functions as a toolkit for web scraping, enabling the retrieval of remote content via standard web protocols and the management of HTTP sessions for automated form interaction. The library distinguishes itself through its fault-tolerant tokenization, which reconstructs valid document structures from malformed or

    Javacsscss-selectorsdom
    View on GitHub↗11,340
  • clojure/clojureclojure avatar

    clojure/clojure

    11,006View on GitHub↗

    Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim

    Java
    View on GitHub↗11,006
  • ericchiang/pupericchiang avatar

    ericchiang/pup

    8,427View on GitHub↗

    Pup is a command line tool for extracting and filtering data from HTML documents using CSS selectors. It functions as a parser and selector engine that isolates specific elements based on tags, IDs, classes, and attributes. The project provides utilities for converting selected HTML nodes into plain text, attribute values, or structured JSON objects. It includes a markup formatter that corrects missing tags and applies consistent indentation to improve the readability of HTML documents. The tool handles the retrieval of text content and attributes through a CSS selector engine, supporting co

    HTML
    View on GitHub↗8,427
  • google/gumbo-parsergoogle avatar

    google/gumbo-parser

    5,190View on GitHub↗

    Gumbo-parser is a high-performance HTML5 parsing library written in pure C99. It transforms raw markup into a structured document tree by implementing the formal state-machine tokenization and error recovery rules defined in the HTML5 specification. The project serves as an HTML source mapping tool, linking parsed nodes back to their original byte offsets and pointers within the input buffer. This allows for the precise tracking of source locations for elements within the resulting parse tree. Beyond full document processing, the library handles isolated HTML fragments and provides a C-based

    HTML
    View on GitHub↗5,190
  • oblac/joddoblac avatar

    oblac/jodd

    4,059View on GitHub↗

    Jodd is a suite of lightweight Java extensions and standard library utilities designed for application configuration, database mapping, dependency injection, and HTML parsing. It provides a consolidated set of core tools to facilitate Java development with a zero-dependency core to ensure compatibility and a small footprint across environments. The project features a pragmatic dependency injection container for managing object lifecycles and a database mapper that uses SQL templates to map result sets directly to Java objects. It includes a specialized configuration manager supporting profile

    Javaaopdatabasehtml-parser
    View on GitHub↗4,059
  • sunra/php-simple-html-dom-parsersunra avatar

    sunra/php-simple-html-dom-parser

    1,286View on GitHub↗

    php-simple-html-dom-parser is a PHP library for parsing HTML documents into a traversable in-memory tree that handles malformed markup gracefully. It constructs a complete object graph from raw HTML strings while retaining document structure and relational node hierarchies, and supports lazy child node iteration to load descendant nodes on demand for large documents. The library features a CSS selector query engine that translates selector expressions to locate and filter matching nodes within the parsed DOM tree. Programmatic accessors provide direct string-based attribute retrieval to extra

    HTML
    View on GitHub↗1,286
  • leethomason/tinyxml2leethomason avatar

    leethomason/tinyxml2

    5,771View on GitHub↗

    TinyXML-2 is a lightweight C++ library for parsing, manipulating, and generating XML documents. It functions as a UTF-8 XML processor that represents data through a hierarchical Document Object Model. The library provides tools for both DOM parsing and direct document generation via data streams. It includes capabilities for navigating the XML tree to locate specific elements, modifying attributes and content, and resolving character entities and Unicode numeric references into UTF-8 text. The processor includes syntax validation and diagnostic utilities that track line-number metadata for e

    C++
    View on GitHub↗5,771
  • lorien/web-scrapinglorien avatar

    lorien/web-scraping

    7,931View on GitHub↗

    This project is a comprehensive resource directory for web data extraction, providing a curated collection of tools and libraries for parsing data, automating browsers, and managing network operations. It serves as a guide for extracting structured information from HTML, XML, JSON, and PDF formats. The toolkit focuses on advanced data collection strategies, including headless browser automation to interact with JavaScript and a suite of network utilities for DNS resolution and WebSocket connections. It specifically covers methods for bypassing bot protections through proxy pool management, us

    Makefile
    View on GitHub↗7,931
  • jquery/sizzlejquery avatar

    jquery/sizzle

    6,306View on GitHub↗

    A sizzlin' hot selector engine.

    JavaScript
    View on GitHub↗6,306
  • harc/ohmharc avatar

    harc/ohm

    5,530View on GitHub↗

    Ohm is a compiler construction toolkit and parser combinator library used to build parsers, interpreters, and compilers. It provides a formal grammar language for specifying the structural rules of data formats to ensure precise parsing of input strings. The project functions as a parsing debugging tool and program execution visualizer. It generates text traces and graphical visualizations to show the step-by-step logic used during parsing and renders runtime state changes and method call hierarchies. The toolkit covers custom parser development and the construction of compilers and interpre

    JavaScript
    View on GitHub↗5,530
  • kenwheeler/cashkenwheeler avatar

    kenwheeler/cash

    7,039View on GitHub↗

    Cash is a lightweight JavaScript library for selecting and modifying HTML elements in modern browsers. It functions as a chainable element wrapper and DOM manipulation utility, providing a minimal alternative for managing browser DOM operations. The library uses a collection-based wrapper for DOM nodes, allowing multiple modifications and style updates to be performed in a single sequence. It is designed to provide a similar API for event handling and element management while maintaining a small footprint. The project covers a wide range of DOM manipulation capabilities, including element se

    JavaScript
    View on GitHub↗7,039
  • jinzhu/nowjinzhu avatar

    jinzhu/now

    4,693View on GitHub↗

    Now is a date and time manipulation library for Go designed to generate precise calendar boundaries and convert time strings into structured objects. It serves as a utility for calculating the start and end timestamps for days, weeks, months, and years. The project provides tools for calculating specific weekdays relative to a reference point and performing date arithmetic to determine time ranges. It includes a toolkit for parsing date and time strings using configurable layouts and formats. The library functions as a wrapper for the standard Go time package to provide an interface for comp

    Go
    View on GitHub↗4,693
  • matthewhudson/current-devicematthewhudson avatar

    matthewhudson/current-device

    3,934View on GitHub↗

    current-device is a JavaScript device detection library used to identify operating systems, device categories, and screen orientations within a web browser environment. It serves as a browser environment detector and client-side mapper that translates browser metadata and user-agent strings into predefined device labels and hardware categories. The library provides tools for executing specific JavaScript logic based on the detected mobile or desktop platform. It also functions as a conditional styling tool and document body class injector, applying descriptive HTML classes to enable device-sp

    TypeScriptdevice-detectionjavascriptmobile
    View on GitHub↗3,934
  • mgdm/htmlqmgdm avatar

    mgdm/htmlq

    7,552View on GitHub↗

    htmlq is a suite of command-line utilities for querying and extracting data from HTML documents using CSS selectors. It functions as a query language tool for HTML structures and attributes, providing a way to retrieve specific information from documents via the terminal. The tool provides capabilities for extracting text content, specific HTML attributes, and document fragments. It includes an HTML document formatter for cleaning and reformatting output with consistent indentation, as well as utilities for stripping tags to isolate plain text. The software handles structural HTML processing

    Rust
    View on GitHub↗7,552