webextrator について
WebExtratorは、AceDataCloud APIを通じてウェブページをレンダリングし、内容を抽出するサービスです。ヘッドレスChromium、schema.orgマッピング、任意のLLM抽出、Markdownへのフォールバックを組み合わせ、同期処理とタスク検索に対応します。
主な機能
- 01ヘッドレスChromiumによるページ描画
- 02HTML、テキスト、タイトルの抽出
- 03構造化抽出とMarkdown出力
- 04任意のLLM抽出
- 05同期応答または非同期タスク
- 06単一または一括タスク記録の取得
活用シーン
- 01記事や商品ページ情報の抽出
- 02JavaScript依存ページのレンダリング
- 03タスクIDによる過去の結果検索
MCP 対応
ホスト型MCPサーバーのエンドポイントを提供し、`pip install mcp-webextrator`でインストールすることもできます。MCPクライアントからページ描画、内容抽出、タスク検索を利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ acedatacloud/ skills --skill webextratorインストール後、Claude Code で/webextratorを入力して読み込まれたか確認します。
詳細
WebExtrator ウェブレンダリングと抽出
AceDataCloud の WebExtrator API を通じて、実際のヘッドレス Chromium と3段階の抽出パイプライン(schema.org JSON-LD マッパー → LLM 型付き抽出器 → Readability/Markdown フォールバック)を使ってウェブコンテンツをレンダリング、抽出します。
セットアップ: トークンの設定については、認証を参照してください。
クイックスタート
curl -X POST https://api.acedata.cloud/webextrator/extract \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "expected_type": "general"}'
タスクのポーリングは不要で、数秒で同期的に結果が返ります。
エンドポイント
| パス | 用途 |
|---|---|
POST /webextrator/render | ヘッドレス Chromium でレンダリング → 生の HTML +クリーンなテキスト+タイトル |
POST /webextrator/extract | レンダリング+構造化抽出(schema.org + LLM 型)+ Markdown |
POST /webextrator/tasks | 過去のレンダリング/抽出タスクのエンベロープを検索(7日間保持、無料) |
ワークフロー
1. 型付きコンテンツを抽出する
POST /webextrator/extract
{
"url": "https://example.com",
"expected_type": "general"
}
実際のレスポンス(抜粋):
{
"success": true,
"task_id": "604b1cfb-6c5a-42c9-b900-a281e1b9c3c5",
"trace_id": "f2a7c0b0-c17c-4bc9-b6e7-9c59746dd366",
"elapsed": 0.003,
"data": {
"kind": "extract",
"url": "https://example.com",
"finalUrl": "https://example.com/",
"contentType": "general",
"title": "Example Domain",
"description": "This domain is for use in documentation examples without needing permission. Avoid use in operations.",
"language": "en",
"images": [],
"links": [],
"markdown": "...",
"text": "...",
"structured": { "schemaOrg": {}, "openGraph": {}, "jsonLd": [] }
}
}
2. 生の HTML をレンダリングする
POST /webextrator/render
{
"url": "https://example.com",
"wait_until": "networkidle",
"block_resources": ["image", "media", "font"]
}
data.html、data.text、data.title、data.status、data.finalUrl を返します。
3. タスクを検索する
POST /webextrator/tasks
{
"action": "retrieve",
"id": "604b1cfb-6c5a-42c9-b900-a281e1b9c3c5"
}
パラメーター
レンダリングと抽出(共通)
| パラメーター | 必須 | 説明 |
|---|---|---|
url | はい | レンダリングするページの URL(http(s)://) |
wait_until | いいえ | load / domcontentloaded / networkidle / commit(デフォルトは networkidle) |
timeout | いいえ | ナビゲーションのタイムアウト(秒、デフォルトは30) |
delay | いいえ | wait_until の後に追加で待機する時間(秒、SPA 用) |
wait_for_selector | いいえ | 準備完了前に待機する CSS セレクター |
block_resources | いいえ | image/font/media/stylesheet/xhr/fetch を遮断 |
headers | いいえ | 対象サイトへの追加リクエストヘッダー |
user_agent | いいえ | ブラウザーの User-Agent を上書き |
async | いいえ | true の場合、ブロックせずに送信します。結果を得るには /webextrator/tasks をポーリングしてください |
callback_url | いいえ | 非同期実行時、最終エンベロープの送信先 |
抽出専用
| パラメーター | 必須 | 説明 |
|---|---|---|
expected_type | いいえ | product/article/general — ヒューリスティックをスキップします |
enable_llm | いいえ | schema.org で何も見つからなかった場合に LLM 抽出器を使用(デフォルトは false) |
タスク
| パラメーター | 必須 | 説明 |
|---|---|---|
action | はい | retrieve(単一)または retrieve_batch(複数) |
id/trace_id | いずれか | retrieve 用 |
ids/trace_ids | いずれか | retrieve_batch 用 |
注意点
- パラメーターには camelCase ではなく、snake_case(
wait_until、block_resources)を使用します - キャッシュヒットも課金対象です。同じ URL の場合、約0.003秒で返ります
expected_typeで指定できるのはproduct/article/generalのみです。型付きの種類(recipe/video/job)は schema.org から自動的に検出されます- ページに schema.org JSON-LD が含まれている場合、
enable_llmは効果がありません。決定論的マッパーが無料で優先されます - Tasks API は無料で、レコードは7日間のみ保持されます
MCP:
pip install mcp-webextrator| ホスト型:https://webextrator.mcp.acedata.cloud/mcp| すべての MCP サーバーを参照してください
コメント
Markdown 対応