awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to fb55/htmlparser2

Open-source alternatives to Htmlparser2

30 open-source projects similar to fb55/htmlparser2, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Htmlparser2 alternative.

  • 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
  • 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
  • sparklemotion/nokogirisparklemotion avatar

    sparklemotion/nokogiri

    6,236View on GitHub↗

    Nokogiri is an XML and HTML parsing library that builds navigable document trees from strings, files, or URLs using native C parsers for speed and standards compliance. It provides a CSS selector engine that translates CSS3 selectors into XPath expressions for querying nodes, an XPath query interface with namespace support, a document manipulation toolkit for modifying parsed documents, XSD schema validation, and XSLT transformation capabilities. The library wraps libxml2 and libxslt C libraries with Ruby bindings for high-performance parsing, and integrates Google's Gumbo parser for standard

    Clibxml2libxsltnokogiri
    View on GitHub↗6,236

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
  • 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
  • martinblech/xmltodictmartinblech avatar

    martinblech/xmltodict

    5,741View on GitHub↗

    xmltodict is a Python library that provides bidirectional serialization between XML documents and dictionaries. It functions as a parser that converts marked-up input into key-value pairs and a serialization utility that transforms dictionaries back into structured XML documents. The project includes an incremental stream processor that uses depth-based callbacks to handle large XML files while maintaining constant memory usage. It features a namespace manager for mapping prefixes and declarations, as well as a security sanitizer that blocks external entity expansion and validates element nam

    Python
    View on GitHub↗5,741
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • hickford/mechanicalsouphickford avatar

    hickford/MechanicalSoup

    4,868View on GitHub↗

    MechanicalSoup is a Python web automation library designed to simulate browser behavior. It functions as a toolkit for web scraping and automation, providing an HTML parsing engine and an HTTP session manager to interact with websites programmatically. The library enables headless web interaction by mimicking a real user session. It manages persistent state through cookie handling and automatic redirect following, allowing for programmatic website navigation and the simulation of complex browser interactions. Its capabilities cover automated form population and submission using CSS selectors

    Python
    View on GitHub↗4,868
  • nodejs/http-parsernodejs avatar

    nodejs/http-parser

    6,445View on GitHub↗

    http-parser is a C-based library for extracting request and response metadata from raw HTTP data streams. It utilizes a state-machine approach to identify message segments and boundaries. The project implements zero-copy string parsing and pointer-based URL deconstruction to avoid memory allocations and data duplication. It supports incremental stream processing to handle fragmented data chunks and includes mechanisms for decoding chunked encoding and managing network protocol upgrades.

    C
    View on GitHub↗6,445
  • 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
  • jsdom/jsdomjsdom avatar

    jsdom/jsdom

    21,587View on GitHub↗

    jsdom is a Node.js DOM implementation that functions as a headless browser emulator and virtual browser environment. It provides a pure JavaScript implementation of web standards, acting as a web standards polyfill that simulates the window and document objects within a non-browser runtime. The project implements W3C and WHATWG specifications to provide a programmatic environment for parsing HTML and manipulating content. It serves as an HTML parser and serializer, allowing for the transformation of HTML strings into document structures and the export of those structures back into text. The

    JavaScript
    View on GitHub↗21,587
  • sadanandpai/javascript-code-challengessadanandpai avatar

    sadanandpai/javascript-code-challenges

    4,451View on GitHub↗

    This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks

    MDXchallengescoding-interviewfrontend
    View on GitHub↗4,451
  • mholt/papaparsemholt avatar

    mholt/PapaParse

    13,492View on GitHub↗

    PapaParse is a delimited text processing library that converts CSV files into JSON objects or arrays. It provides a suite of tools for parsing delimited text and transforming structured data objects back into CSV formats through bidirectional serialization. The library is characterized by its ability to process massive datasets using incremental streaming and chunk-based processing to prevent memory overload. It includes an automatic delimiter detector to identify separator characters without manual configuration and utilizes web workers to offload parsing logic to background threads, keeping

    JavaScript
    View on GitHub↗13,492
  • 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
  • madrobby/zeptomadrobby avatar

    madrobby/zepto

    15,104View on GitHub↗

    Zepto is a minimalist JavaScript toolkit providing an API for DOM manipulation, event handling, and asynchronous HTTP requests. It functions as a jQuery-compatible library, allowing developers to select, modify, and animate HTML elements using a concise and chainable syntax. The library includes an asynchronous HTTP client for exchanging data with remote servers without triggering page reloads and a browser-based event handler that supports standard mouse events and mobile touch gestures. Its capability surface covers CSS selector-based querying, element transition animations, and the serial

    HTML
    View on GitHub↗15,104
  • camsong/you-dont-need-jquerycamsong avatar

    camsong/You-Dont-Need-jQuery

    20,160View on GitHub↗

    This project is a vanilla JavaScript reference guide and implementation collection designed to replace legacy libraries with native browser patterns. It provides a set of native JavaScript patterns for selecting, modifying, and navigating HTML elements, alongside a web API implementation guide for handling events and styles. The project serves as a reference for implementing asynchronous JavaScript patterns using native promises and fetch for remote data and background tasks. It also includes a client-side utility collection for performing data transformations, type validation, and element me

    JavaScript
    View on GitHub↗20,160
  • 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
  • brython-dev/brythonbrython-dev avatar

    brython-dev/brython

    6,598View on GitHub↗

    Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a client-side environment that translates Python source code into executable JavaScript to handle frontend logic without requiring server round-trips. The project provides a bidirectional interoperability bridge between Python and JavaScript, allowing for the integration of external JavaScript libraries. It further functions as a tool for packaging Python scripts into standalone native mobile applications for Android devices. The runtime includes a library for programmatic manipulati

    Python
    View on GitHub↗6,598
  • arielsalminen/responsive-nav.jsarielsalminen avatar

    arielsalminen/responsive-nav.js

    4,053View on GitHub↗

    This is a responsive navigation JavaScript library used to create mobile-friendly menus with screen size detection and touch support. It functions as an accessible navigation menu and a client-side layout switcher that transitions between mobile and desktop views without external dependencies. The project serves as a menu animation tool that enables smooth CSS transitions and height-based animations when toggling navigation overlays. It utilizes native browser APIs to manage interface states and ensure the navigation remains functional for screen readers and users without JavaScript. The lib

    JavaScript
    View on GitHub↗4,053
  • geal/nomGeal avatar

    Geal/nom

    10,422View on GitHub↗

    nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions. The framework provides specialized support for zero-copy binary parsing, extracting data as slices from raw byte arrays to avoid memory allocations. It also includes a streaming data parser capable of processing partial input chunks from networks or files and signaling when additional input is required. The project covers a b

    Rust
    View on GitHub↗10,422
  • 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
  • nanopb/nanopbnanopb avatar

    nanopb/nanopb

    5,437View on GitHub↗

    Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys

    C
    View on GitHub↗5,437
  • 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
  • jmcarp/robobrowserjmcarp avatar

    jmcarp/robobrowser

    3,696View on GitHub↗

    Robobrowser is a Python web scraping library that provides a headless browser emulator and an HTML DOM parser. It is designed to programmatically navigate websites, interact with HTML forms, and extract data from web pages. The tool includes a web request caching mechanism to store previously fetched web content, reducing network traffic and increasing loading speeds for repeated requests. It covers capabilities for automated web navigation, programmatic web scraping, and web form automation, including the ability to populate input fields and trigger submission events. The system also manage

    Python
    View on GitHub↗3,696
  • bigskysoftware/_hyperscriptbigskysoftware avatar

    bigskysoftware/_hyperscript

    3,706View on GitHub↗

    Hyperscript is a DOM manipulation library and HTML scripting language that functions as a logic engine and reactive UI framework. It allows for the definition of interactive behavior and client-side logic directly within HTML attributes. The system distinguishes itself through declarative web scripting and in-HTML interactive behavior, which removes the requirement for separate JavaScript files to manage element states. It utilizes a specialized syntax for data processing, employing pipe operators to filter, sort, and convert data collections within the browser. The framework provides capabi

    JavaScripthtmxhyperscriptscripting-language
    View on GitHub↗3,706
  • john-smilga/javascript-basic-projectsjohn-smilga avatar

    john-smilga/javascript-basic-projects

    3,926View on GitHub↗

    This is a collection of small JavaScript projects and code samples that demonstrate the implementation of fundamental programming concepts through practical applications. The repository serves as a reference for building interactive user interfaces, managing application state, and integrating external APIs using vanilla JavaScript. The project focuses on the use of standard JavaScript without external frameworks to create interface elements such as modals, sliders, and galleries. It provides examples of organizing complex application logic through object-oriented patterns using classes and ob

    CSS
    View on GitHub↗3,926