# puerkitobio/goquery

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/puerkitobio-goquery).**

14,958 stars · 930 forks · Go · BSD-3-Clause

## Links

- GitHub: https://github.com/PuerkitoBio/goquery
- awesome-repositories: https://awesome-repositories.com/repository/puerkitobio-goquery.md

## Topics

`goquery` `html-parsing` `jquery` `selector-strings`

## Description

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 cover HTML document parsing and web scraping data extraction. These tools enable automated content analysis and web page data mining by mapping standard CSS selector strings to specific nodes within a parsed document tree.

## Tags

### Web Development

- [HTML Parsers](https://awesome-repositories.com/f/web-development/html-parsers.md) — Converts raw HTML content into a structured tree for navigation and data extraction. ([source](https://cdn.jsdelivr.net/gh/puerkitobio/goquery@master/README.md))
- [Go HTML Libraries](https://awesome-repositories.com/f/web-development/go-html-libraries.md) — Provides a complete HTML parsing and data extraction toolkit implemented in Go.
- [HTML DOM Manipulators](https://awesome-repositories.com/f/web-development/html-dom-manipulators.md) — Allows refining selections of nodes through a sequence of connected filtering and modification operations. ([source](https://cdn.jsdelivr.net/gh/puerkitobio/goquery@master/README.md))

### Data & Databases

- [Web Data Extraction](https://awesome-repositories.com/f/data-databases/web-data-extraction.md) — Programmatically scrapes and processes web content using CSS selectors for data collection.

### Programming Languages & Runtimes

- [XML and HTML Document Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/string-parsing/xml-and-html-document-parsers.md) — Parses HTML strings into in-memory document trees for programmatic traversal and search.

### Software Engineering & Architecture

- [CSS Selector Engines](https://awesome-repositories.com/f/software-engineering-architecture/syntax-query-definitions/css-selector-engines.md) — Implements a CSS-style selector engine for querying and navigating HTML document structures.
- [CSS Selector Data Extractors](https://awesome-repositories.com/f/software-engineering-architecture/syntax-query-definitions/css-selector-engines/css-selector-data-extractors.md) — Extracts specific text and attributes from HTML documents using precise CSS selectors. ([source](https://cdn.jsdelivr.net/gh/puerkitobio/goquery@master/README.md))
- [DOM Node Manipulators](https://awesome-repositories.com/f/software-engineering-architecture/trees/tree-node-reorderers/dom-node-manipulators.md) — Functions as a system for navigating, filtering, and modifying nodes within a structured HTML document tree.
- [Fluent Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/fluent-interfaces.md) — Provides a fluent interface for chaining selection and filtering operations to refine node sets.
- [Matched Node Iterations](https://awesome-repositories.com/f/software-engineering-architecture/pattern-matching-libraries/ast-node-visitation/matched-node-iterations.md) — Employs an iterator-based mechanism to apply operations to every node in a matched selection.
- [DOM Node Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/resource-abstraction-interfaces/tree-node-abstractions/dom-node-wrappers.md) — Uses a wrapper-based abstraction to simplify the extraction of data from low-level parser nodes.

### User Interface & Experience

- [In-Memory DOM Representations](https://awesome-repositories.com/f/user-interface-experience/dom-manipulation-libraries/in-memory-dom-representations.md) — Represents raw HTML as a structured in-memory tree for programmatic navigation and search.

### Part of an Awesome List

- [Web Scraping and Mining](https://awesome-repositories.com/f/awesome-lists/data/web-scraping-and-mining.md) — Provides tools for isolating and retrieving targeted information from website documents.
- [Text Processing](https://awesome-repositories.com/f/awesome-lists/devtools/text-processing.md) — jQuery-style DOM manipulation for HTML documents.
