OSS探訪

jQuery風selectorでHTML・XMLを軽量にparse・検索・書き換える

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
30,513
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/09/30
ページ内ナビ

概要

Cheerioは、HTMLやXMLを読み込み、jQueryに近いselector APIで要素を検索・変更・serializeするlibraryです。parse5を標準parserとして使い、用途に応じてhtmlparser2も選べるため、server-sideのscrapingやmarkup変換をbrowser DOMなしで扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

HTMLを読み込みjQuery風selectorで要素を扱う

cheerio.load()でmarkupを読み込み、$('selector')からtext、attribute、class等を取得・変更し、最後にHTMLへserializeできます。

出典:[2]

parse5とhtmlparser2を用途に応じて使い分ける

HTML parsingにはparse5を使い、より寛容なhtmlparser2も選択できます。HTMLとXMLを同じselector-oriented APIで扱えます。

出典:[2][3]

向いている用途

scrapingやserver-side markup変換でbrowser全体を再現したくない場合に向く

DOM selectorによる抽出、HTML cleanup、構造変換など、layout・rendering・browser APIを必要としない処理を小さなruntimeで実装したい用途に向きます。

出典:[2]

導入前の確認

browser engineではなく軽量なDOM modelとして扱う

Cheerioはbrowserのlayout、navigation、JavaScript実行環境を再現するlibraryではありません。browser挙動まで必要なtestやscrapingではjsdomや実browser automationとの役割分担が必要です。

出典:[2]

1.2.0はNode.js 22.19以上を要求する

package metadataのenginesはNode.js 22.19.0以上です。既存application、CI、serverless runtimeのNode versionを確認してからupgradeします。

出典:[3][4]

参考にした公式資料

  1. [1]cheeriojs/cheerio repository(2026-09-30)
  2. [2]Cheerio README(2026-09-30)
  3. [3]Cheerio 1.2.0 package metadata(2026-09-30)
  4. [4]Cheerio v1.2.0 release(2026-09-30)
  5. [5]Cheerio MIT license(2026-09-30)
編集部からの補足

browserのlayoutやscript実行を再現するのではなく、HTML/XMLを軽量なDOM modelとしてparse・操作する用途に向きます。1.2.0はNode.js 22.19以上が必要なので、既存scraping batchやCIのruntime versionを先に確認してください。

3ステップで試す

  1. 1

    Cheerio 1.2.0を追加

    Node.js 22.19以上のprojectへstable版をversion固定で追加します。

    npm install cheerio@1.2.0
  2. 2

    HTMLを読み込む

    公式READMEと同じload APIでmarkupを軽量DOMへparseします。

    import * as cheerio from 'cheerio'; const $ = cheerio.load('<h2 class="title">Hello</h2>');
  3. 3

    selectorで取得・変更

    jQuery風selectorで要素を書き換え、serialize結果を確認します。

    $('h2.title').text('Hello there!'); console.log($.html());
公式READMEで確認

成長

成長の推移 · 直近30日

30,513 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • cheerio
  • dom
  • hacktoberfest
  • html
  • htmlparser
  • htmlparser2
  • jquery
  • parser
  • scraper
  • selector
Stars
30,513
Forks
1,722
Watchers
347
Open Issues
70
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/09/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?