GoのCSSセレクタ/HTMLパースライブラリ

Goで「HTMLをパースしてCSSセレクタでノードを抜き出す」ためのライブラリ群。標準ライブラリのgolang.org/x/net/html(トークナイザ/パースツリー生成)を土台に、その上でCSSセレクタや使いやすいAPIを提供するライブラリがいくつも存在する。

主なライブラリ

  • cascadia(andybalholm/cascadia) — CSSセレクタエンジンそのもの。単体で使うより、他ライブラリの内部実装として使われることが多い。
  • goquery(PuerkitoBio/goquery) — jQuery風のAPIを提供するHTMLパーサー。内部でcascadiaのセレクタエンジンを利用している。
  • colly(gocolly/colly) — CSSセレクタでのパースに加え、並列クロール・リクエスト制御まで含む、より高機能なスクレイピングフレームワーク。
  • htmlquery(antchfx/htmlquery) — CSSセレクタではなくXPathでHTMLをクエリする。CSSセレクタ以外の選択肢が欲しい場合の代替。
  • soup(anaskhan96/soup) — PythonのBeautifulSoupのAPI(Find/FindAll/HTMLParseなど)を意図的に模したライブラリ。

GitHub star数比較(2026-08-20時点、GitHub API調べ)

ライブラリ ⭐ Star 🍴 Fork 最終push
colly 25,436 1,857 2026-08-14
goquery 14,974 935 2026-08-17
soup 2,278 171 2026-08-01
htmlquery 781 81 2026-07-02
cascadia 755 69 2026-06-03

collyがGo製HTMLスクレイピング系では最もstarを集めており、直近のpushも新しく活発。cascadiaは単体でのstar数こそ最小規模だが、goquery(15k star)が内部で依存しているため実際の利用は間接的にもっと広い。「単体ライブラリ」というより「上位ライブラリの基盤コンポーネント」という位置づけが数字にも表れている。cascadia自体は2026-06-03が最終pushで、機能追加より安定運用フェーズに見える。

他言語の同種ライブラリ(参考)

同じ「HTMLパースツリーをCSSセレクタ/XPathで検索する」役割を担う、各言語のデファクトスタンダード。

言語 ライブラリ ⭐ Star(2026-08-20時点)
JavaScript(Node.js) Cheerio — jQuery風API 30,455
Java jsoup — CSSセレクタ・XPath両対応 11,386
Ruby Nokogiri 6,276
Python BeautifulSoup (本家はcode.launchpad.net配布のためGitHub star数の比較対象外)

cascadia/goquery/soup/Cheerioはいずれも「jQuery風のAPI」を志向している点が共通している。

出典

作成日時: 2026-08-20 13:31 / 更新日時: 2026-08-20 13:31