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
symfony avatar

symfony/dom-crawler

0
View on GitHub↗
4,043 stars·124 forks·PHP·MIT·17 viewssymfony.com/dom-crawler↗

Dom Crawler

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 whitespace normalization. It supports the programmatic processing of XML structures and the verification of element presence in web pages.

Features

  • HTML and XML Parsing - Provides a complete system for loading and processing HTML and XML markup documents.
  • XML and HTML Document Parsers - Provides a DOM parser to load HTML and XML documents into traversable in-memory trees for data extraction.
  • XML Processing - Provides capabilities for parsing, navigating, and filtering XML structures to retrieve nested information.
  • Markup Content Extractors - Retrieves inner or outer element content with whitespace normalization for clean text output.
  • CSS and XPath Query Engines - Provides a combined engine to locate elements using both CSS selectors and XPath 1.0 expressions.
  • Absolute Link Resolvers - Implements logic to convert relative links found in markup documents into absolute URLs using a base URI.
  • Web Scraping Utilities - Offers a suite of tools for extracting text, attributes, and media sources from parsed web content.
  • Hybrid CSS-XPath Selectors - Combines CSS selectors and XPath queries to target and filter precise elements within a document.
  • In-Memory DOM Representations - Implements an in-memory DOM tree representation that allows for ergonomic navigation and manipulation of HTML and XML.
  • Web Scraping and Extraction - Functions as a web scraping utility to extract structured data from websites using CSS and XPath.
  • Relative Link Resolvers - Calculates absolute addresses by merging relative link attributes with a provided base URI.
  • DOM Structure Navigators - Traverses the structure of HTML or XML files to find and extract specific elements.
  • DOM Hierarchy Traversers - Allows recursive navigation of the document tree to locate ancestors and nested child nodes.
  • URI Normalization - Converts relative or fragment links into canonical absolute addresses using a base URI.
  • DOM Tree Traversers - Navigates the document tree to find ancestors, closest matching elements, or specific child nodes.
  • Web Testing Frameworks - Enables programmatic verification of element presence and structure for automated web testing.
  • PHP Crawling Frameworks - Component for DOM navigation in HTML/XML.

Star history

Star history chart for symfony/dom-crawlerStar history chart for symfony/dom-crawler

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Dom Crawler

Similar open-source projects, ranked by how many features they share with Dom Crawler.
  • 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
  • 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
  • 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
  • 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
See all 30 alternatives to Dom Crawler→

Frequently asked questions

What does symfony/dom-crawler do?

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.

What are the main features of symfony/dom-crawler?

The main features of symfony/dom-crawler are: HTML and XML Parsing, XML and HTML Document Parsers, XML Processing, Markup Content Extractors, CSS and XPath Query Engines, Absolute Link Resolvers, Web Scraping Utilities, Hybrid CSS-XPath Selectors.

What are some open-source alternatives to symfony/dom-crawler?

Open-source alternatives to symfony/dom-crawler include: rchipka/node-osmosis — This project is a Node.js web scraping framework designed to automate data extraction through a programmatic workflow… sparklemotion/nokogiri — Nokogiri is an XML and HTML parsing library that builds navigable document trees from strings, files, or URLs using… scinfu/swiftsoup — SwiftSoup is a cross-platform HTML processing library for Swift that converts raw HTML or XML strings and files into a… tmpvar/jsdom — jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a… zeux/pugixml — pugixml is a lightweight C++ XML parser and DOM-based library used for parsing, manipulating, and saving XML… fb55/htmlparser2 — htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream…