CSSセレクタに基づくパーサーは、サイトがレイアウトを変更すると壊れます。LLMに基づくパーサーは壊れませんが、各ページごとに料金が発生します。2026年には、これらの選択肢はもはや好みの問題ではなくなりました:モデルの価格は数十倍に広がり、同じページがモデルに送信した内容に応じて3,000トークンまたは20,000トークンのコストがかかる可能性があります。以下は、1,000ページと1百万ページに基づく、コスト、信頼性、プロキシトラフィックの3つのアプローチの比較です。
簡潔に:どれを選ぶべきか
- セレクタ(CSS/XPath) — 1つのページテンプレート、大量のデータ、安定したレイアウト。抽出コストはほぼゼロですが、サポートは開発者に依存します。
- LLM抽出 — 多くの異なるサイト、不安定なレイアウト、一回限りのタスク。各ページごとにトークンを支払い、応答を検証する必要があります。
- ハイブリッド — LLMが一度セレクタを生成し、その後はセレクタが機能し、データ検証が失敗したときのみモデルが呼び出されます。ほとんどの常時パーサーにとって最適です。
比較基準
最終的なコストとデータの質に実際に影響を与える5つのポイントで比較します:
- 1,000ページあたりの抽出コスト;
- レイアウト変更時の挙動;
- 正確性と虚偽の値のリスク;
- 速度と遅延;
- プロキシのトラフィック消費 — 方法の選択によってほとんど影響を受けないことがわかります。
LLM抽出のコスト:2026年10月の価格を基に計算
標準料金での1百万トークン(入力/出力)の公式価格:
- Gemini 2.5 Flash-Lite — $0.10 / $0.40;
- Gemini 3.1 Flash-Lite — $0.25 / $1.50;
- Claude Haiku 4.5 — $1 / $5;
- Gemini 3.5 Flash — $1.50 / $9。
GoogleとAnthropicには、入力と出力の50%割引があるBatch APIがあります — これは、即時の応答が必要ないパーシングにおいて、最初のコスト削減の手段です。
主な変数はモデルではなく、送信する内容です
生のHTMLページをモデルに送信する際、通常は10,000〜40,000トークンを占めます。Cloudflareは、エージェント用Markdown機能を開始する際に例を示しました:同じブログ記事はHTMLで16,180トークン、Markdownで3,150トークンであり、80%の削減になります。他のニュース、ドキュメント、商品カードに関する測定では、67%から94%の削減が得られます。
計算のために、以下の仮定を取ります:生のページは20,000トークン、Markdownにクリーンアップされたものは3,000トークン、指示とスキームに500トークン、出力は300トークンのJSONです。1,000ページで得られるのは:
| モデル | 生のHTML(20.5百万入力) | Markdown(3.5百万入力) |
|---|---|---|
| Gemini 2.5 Flash-Lite | ≈ $2.17 | ≈ $0.47 |
| Gemini 3.1 Flash-Lite | ≈ $5.58 | ≈ $1.33 |
| Claude Haiku 4.5 | ≈ $22.00 | ≈ $5.00 |
| Gemini 3.5 Flash | ≈ $33.45 | ≈ $7.95 |
最悪の選択肢と最良の選択肢の間には70倍の差がありますが、同じ結果が得られます。この差の3分の2は入力のクリーンアップによるものであり、モデルの選択によるものではありません。月に1百万ページの場合、コストは約$470または$33,000を超えることになります。
もう1つの詳細:Claudeモデルは4.7バージョン以降、新しいトークナイザーを使用しており、Anthropicによると、同じテキストに対して約30%多くのトークンを提供します。異なる世代のモデルの請求書を比較する際には、これを考慮してください — Haiku 4.5は古いトークナイザーで動作しています。
セレクタ:サイトが変更されるまでほぼ無料
ダウンロード済みのページでCSSまたはXPathセレクタを実行するコストは、プロセッサのミリ秒の一部です。ScrapingBeeのガイドラインによると、安定したレイアウトでは通常のセレクタはLLM抽出の約10倍安く、速いです。実際には、セレクタにはモデルAPIへのネットワークリクエストがないため、差はさらに大きくなります。
セレクタのコストはサポートにあります:
- サイトがクラス名を変更したり、新しいdivでブロックをラップした場合、パーサーは静かに空のフィールドを返します;
- A/Bテストが異なるテンプレートを異なる訪問者に表示し、一部のページがパースされません;
- 50の異なるサイトで50セットのセレクタをサポートします。
最も危険なシナリオは、データの静かな劣化です:セレクタが隣接する要素をキャッチし、古い価格が数週間にわたってデータベースに書き込まれます。
LLM:レイアウトに強いが、虚偽を生成することができる
モデルは要素への正確なパスを必要とせず、「価格」を意味で探します。これにより、名前が変更されたクラスや異なるテンプレートの問題が解消されます。しかし、実際にパーサーを運用したすべての人が説明する3つの一般的な障害が発生します:
- 虚偽の値 — モデルがページに存在しない価格や品番を「推測」します;
- 欠落したフィールド — 一部のデータが抽出されません;
- 構造のドリフト — 数値の代わりに文字列、異なるキー名。
保護は必須です:厳格な応答スキーム、検証(例えば、Pydantic)、temperature = 0、エラー時の再試行。温度をゼロにするとばらつきが減りますが、幻覚を完全に排除することはできません。価格や在庫については、「値がページのテキストに実際に存在するかどうか」を確認することが理にかなっています。
遅延も高くなります:プロキシを介したページの読み込み時間にモデルの応答が追加されます — 数分の一秒から数秒まで。毎日監視する場合は重要ではありませんが、ドロップを追跡する場合は重要です。
ハイブリッド:LLMがセレクタを生成し、データを抽出しない
第3の方法は、人気のあるライブラリによって直接サポートされています。Crawl4AIには、モデルがHTMLのサンプルを一度見てCSS/XPathセレクタのセットを返すスキーム生成機能があります。その後、抽出はLLMの呼び出しなしで行われます。ドキュメントでは、これは一回限りのコストであり、スキームは制限なしに再利用できることが強調されています;複数のサンプルがある場合、モデルはしばしば脆弱な位置ベースのセレクタの代わりに属性に基づいてより安定したセレクタを選択します。
ハイブリッドの作業スキーム:
- LLMが同じテンプレートの3〜5のページサンプルに基づいてセレクタを生成します。
- パーサーはセレクタで動作し、各エントリを検証者が確認します:フィールドが正しい場所にあり、タイプが正しく、価格が合理的な範囲内にあるか。
- 無効なエントリの割合が閾値(例えば、2〜5%)を超えた場合、ページはLLM抽出に移行し、スキームは再生成されます。
- 新しいスキームはコントロールサンプルで実行され、その後古いものと置き換えられます。
これにより、モデルにはレイアウト変更の瞬間にのみ支払うことになり、百万ページごとに支払う必要はありません。
要約表
| 基準 | セレクタ | LLM抽出 | ハイブリッド |
|---|---|---|---|
| 抽出コスト | ほぼゼロ | $0.5–33 / 1,000ページ | ほぼゼロ + 一回限りの呼び出し |
| レイアウト変更 | 壊れやすい、しばしば静かに | 通常は耐える | 自動的に修正される |
| 虚偽データのリスク | なし(ただし「異なる要素」がある) | あり、検証が必要 | 最小限 |
| 速度 | 最大 | + 各ページでのモデルの応答 | セレクタと同じ |
| 多くの異なるサイト | サポートが高コスト | 強み | 良好、各テンプレートにスキーム |
| プロキシトラフィック | 同じ — モデルはダウンロードされたバイトを減少させません | ||
プロキシについて:LLMはトラフィックを節約しない
計算での一般的な誤解は、「スマート」パーサーがネットワークで安価であると考えることです。そうではありません:HTMLをMarkdownに変換するのはダウンロード後であるため、どの抽出方法でもプロキシを通過するのは完全なページです。例外は、所有者がAccept: text/markdownヘッダーでMarkdownの提供を有効にしたサイトですが、これはサイトの決定であり、あなたのものではありません。
規模のために:HTMLのサイズが200KBで画像なしの場合、1,000ページは約0.2GB、または約$0.54の<а href="https://proxycove.com/ja/residential-proxies/">レジデンシャルプロキシで$2.70/GBです。上の表と比較してください:生のHTMLをClaude Haiku 4.5に送信すると、モデルの請求書はプロキシの請求書の40倍になりますが、MarkdownとFlash-Liteでは比較可能です。ヘッドレスブラウザでページをレンダリングすると、トラフィックは数倍に増加します — 測定値は私たちの比較Playwright、Puppeteer、およびrequestsの1,000ページにおけるトラフィック消費にあります。
どの方法でもトラフィックに実際に影響を与える要因:
- 必要ない場合は画像、フォント、分析をダウンロードしないこと;
- HTMLの代わりに内部JSON APIを探すこと;
- 余分な再試行を行わないこと:各バンと再試行は支払われたバイトです。GBあたりの価格が誤解を招く理由については、成功したレコードの実際のコストの分析に詳しく説明されています。
厳しいアンチボット保護のないシンプルなカタログには、データセンタープロキシが$1.50/GBで十分です;レジデンシャルは、ホスティングのIPが入口で制限されている場合に必要です。
シナリオに関する推奨事項
- 1〜3のマーケットプレイスの価格監視、数十万のカード。 ハイブリッドまたは検証者付きの純粋なセレクタ。スキームの再生成のためにのみLLMを接続します。
- 数百の異なるサイトからのデータ収集(リード、求人、連絡先)。 LLM抽出をMarkdownで安価なモデルでバッチモードで行います。厳格なスキームと検証なしでは実行しないでください。
- 数千ページの一回限りの調査。 LLM:数ドルでセレクタの作成に数日を節約できます。
- エラーがコストを伴うデータ(再プライシングのための価格、在庫)。 セレクタまたはハイブリッドに加えて、ページの元のテキストと値を照合します。
- RAGとナレッジベース。 ここでは構造ではなく、純粋なテキストが必要です:フィールドの抽出なしでMarkdownに変換し、モデルは応答段階でのみ使用します。
結論
LLM抽出はセレクタを置き換えたのではなく、選択のポイントを移動させました。最も安価なのはハイブリッドです:モデルがセレクタを生成し修正し、各ページを読み取ることはありません。モデルなしで各ページを処理する必要がある場合は、まず入力をMarkdownにクリーンアップし、バッチを使用してください:これらの2つのステップは、モデルを選択する前に請求書を5〜10倍削減します。そして、抽出方法によってプロキシトラフィックが変わらないことを忘れないでください:トラフィックを節約する必要があるのは、ダウンロードする内容に対してであり、解析方法ではありません。
