Webページから構造化データをJSONとして抽出します。テーブル、商品一覧、価格など構造化コンテンツに対応。スクレイピング・テーブル抽出・価格取得・データ収集の指示で起動します。
tabs_context → tabId を取得sm_capabilities(tabId) — 登録済みフェッチ定義を確認sm_fetch(tabId, fetch_id) を使用(より高速で信頼性が高い)セマンティック定義がない場合:
read_page(tabId, filter: "all") → ページ構造を把握(大規模ページでは mainOnly: true で <main> に限定)page_data_extract(tabId, schema) → スキーマベースで抽出単一値: { "title": { "selector": "h1", "type": "text" } }
アイテムリスト:
{
"items": {
"selector": ".product-card",
"type": "list",
"fields": {
"name": ".product-name",
"price": ".product-price",
"url": { "selector": "a", "type": "attribute", "attribute": "href" }
}
}
}
代替手段: get_page_text(tabId) でプレーンテキスト取得(query でセマンティックフィルタ、maxChars で出力文字数制限(デフォルト 50000))、javascript_exec(tabId, code) でカスタムロジック実行。
ログインセッションが必要な AJAX エンドポイントから大量データを収集:
read_network_requests(tabId, clear: true) → バッファクリア + Network 有効化read_network_requests(tabId, include_body: true) → エンドポイントと postData を特定batch_fetch(tabId, url, requests, extractor, file_path) → 全組み合わせを一括収集javascript_exec + file_path で大量データをローカルファイルに直接保存可能。
Google Sheets ページでは専用ツールが高速:
sheets_info(tabId) — シート構成を確認sheets_read(tabId) — 全データ取得sheets_read(tabId, query: "SELECT A,B WHERE C > 100") — tq クエリでフィルタ・集計sheets_read(tabId, range: "A1:D10", formulas: true) — 数式を取得繰り返し抽出するなら? /setup-page → /create-scenario → /run-job で自動収集を構築。