scrapling について
scraplingは、コードを書かずにウェブページを取得・抽出するコマンドラインスキルです。静的ページ、JavaScriptで描画されるページ、ボット対策のあるサイトに対応し、AI向けのコンテンツ整形も行います。
主な機能
- 01HTTPメソッドによる静的ページ取得
- 02JavaScript描画ページの取得
- 03ボット対策サイトからの取得
- 04CSSセレクターによるコンテンツ選択
- 05AI利用向けコンテンツの整形
活用シーン
- 01記事をMarkdownで保存
- 02一致するページ要素の抽出
- 03JavaScript描画コンテンツの取得
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hyperpuncher/ dotagents --skill scraplingインストール後、Claude Code で/scraplingを入力して読み込まれたか確認します。
詳細
scrapling cli
コードを書かずにページを取得し、選択したコンテンツまたは全コンテンツを保存するには、scrapling extractを使用します。
セットアップ
uv tool install "scrapling[shell]"
scrapling install
リリースに応じて、Scraplingを更新し、ブラウザーとフィンガープリントを更新してください。
uv tool upgrade scrapling
scrapling install --force
必須の安全対策
コンテンツをAIモデルが読み取る場合は、必ず--ai-targetedを追加してください。本文を維持しながら、プロンプトインジェクションを含む可能性のあるノイズの多いコンテンツや非表示コンテンツを削除し、コメントとゼロ幅文字を取り除き、ブラウザーコマンドで広告ブロックを有効にします。
コマンドを選択する
| 用途 | コマンド |
|---|---|
| 静的ページ、ブログ、ニュース、API | get、post、put、delete |
| JavaScriptで描画されるページ | fetch |
| Cloudflareまたはアンチボット保護 | stealthy-fetch |
まずgetを試し、次にfetch、その後stealthy-fetchを試してください。
出力
出力形式はファイルの拡張子で選択されます。
.md:Markdown.html:HTML.txt:クリーンなテキスト
読みやすさを優先する場合は.mdを使い、--css-selectorで出力を絞り込んでください。
よくある使用例
# static page
scrapling extract get "https://example.com" /tmp/page.md --ai-targeted
# select matching elements
scrapling extract get "https://example.com" /tmp/articles.md \
--css-selector "article" --ai-targeted
# query parameters, headers, and cookies
scrapling extract get "https://example.com/search" /tmp/results.md \
-p "q=scrapling" \
-H "Accept-Language: en-US" \
--cookies "session=abc123" \
--ai-targeted
# form or JSON request
scrapling extract post "https://example.com/search" /tmp/results.txt \
--data "q=scrapling" --ai-targeted
scrapling extract put "https://example.com/resource" /tmp/result.txt \
--json '{"enabled":true}' --ai-targeted
# JavaScript-rendered page
scrapling extract fetch "https://example.com" /tmp/page.md \
--network-idle --ai-targeted
# protected page
scrapling extract stealthy-fetch "https://example.com" /tmp/page.md \
--solve-cloudflare --ai-targeted
コマンドの完了後に出力ファイルを読み取り、一時ファイルを削除してください。
主なオプション
すべてのコマンドで、次のオプションを使用できます。
-s, --css-selector TEXT:一致するすべての要素を返します--ai-targeted:AIによる利用に向けてコンテンツをサニタイズします--proxy TEXT:プロキシURL
HTTPコマンドでは、次のオプションも使用できます。
-H, --headers TEXT:繰り返し指定できるKey: Value形式のヘッダー--cookies TEXT:name=value; name2=value2-p, --params TEXT:繰り返し指定できるクエリパラメーター--timeout INTEGER:秒数。デフォルトは30--impersonate TEXT:chromeやfirefoxなどのブラウザーフィンガープリント--follow-redirects / --no-follow-redirects--verify / --no-verify--stealthy-headers / --no-stealthy-headers--data TEXTおよび--json TEXT:postとputで使用できます
fetchとstealthy-fetchでは、次のオプションも使用できます。
--headless / --no-headless--network-idle / --no-network-idle--disable-resources / --enable-resources--wait INTEGER:追加の待機時間(ミリ秒)--wait-selector TEXT--timeout INTEGER:ミリ秒。デフォルトは30000--locale TEXT-H, --extra-headers TEXT--real-chrome / --no-real-chrome--block-ads / --no-block-ads--dns-over-https / --no-dns-over-https:プロキシ使用時のDNSリークを防止します--executable-path TEXT:Chromium実行ファイルを指定します。指定がない場合はSCRAPLING_EXECUTABLE_PATHにフォールバックします
stealthy-fetchでは、さらに次のオプションも使用できます。
--solve-cloudflare / --no-solve-cloudflare--block-webrtc / --allow-webrtc--allow-webgl / --block-webgl--hide-canvas / --show-canvas
ヘルプ
scrapling extract --help
scrapling extract get --help
scrapling extract fetch --help
scrapling extract stealthy-fetch --help
コメント
Markdown 対応