Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

crawl4ai

ウェブサイトのスクレイピング、構造化データの抽出、JavaScriptを多用するページの処理、複数URLのクロール、自動化されたWebデータパイプラインの構築が必要な場合に使用します。LLM不要で効率的な抽出を実現するスキーマ生成を含む、最適化された抽出パターンを備えています。

description の原文を見る

This skill should be used when users need to scrape websites, extract structured data, handle JavaScript-heavy pages, crawl multiple URLs, or build automated web data pipelines. Includes optimized extraction patterns with schema generation for efficient, LLM-free extraction.

SKILL.md 本文

Crawl4AI

概要

Crawl4AIは包括的なWebクローリングとデータ抽出機能を提供します。このスキルはCLI(クイックタスク推奨)とPython SDK(プログラマティック制御用)の両方をサポートしています。

インターフェースを選択してください:

  • CLI (crwl) - クイック、スクリプト可能なコマンド: CLIガイド
  • Python SDK - フルプログラマティック制御: SDKガイド

クイックスタート

インストール

pip install crawl4ai
crawl4ai-setup

# インストール確認
crawl4ai-doctor

CLI(推奨)

# 基本的なクローリング - マークダウン形式で出力
crwl https://example.com

# マークダウン出力を取得
crwl https://example.com -o markdown

# キャッシュをバイパスしてJSON出力
crwl https://example.com -o json -v --bypass-cache

# その他の例を表示
crwl --example

Python SDK

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun("https://example.com")
        print(result.markdown[:500])

asyncio.run(main())

SDK設定の詳細については、SDKガイド - 設定(61-150行目)を参照してください。


主要概念

設定レイヤー

CLIとSDKの両方は同じ基盤となる設定を使用しています:

概念CLISDK
ブラウザ設定-B browser.yml または -b "param=value"BrowserConfig(...)
クロール設定-C crawler.yml または -c "param=value"CrawlerRunConfig(...)
抽出-e extract.yml -s schema.jsonextraction_strategy=...
コンテンツフィルタ-f filter.ymlmarkdown_generator=...

キーパラメータ

ブラウザ設定:

  • headless: GUIの有無で実行
  • viewport_width/height: ブラウザサイズ
  • user_agent: カスタムユーザーエージェント
  • proxy_config: プロキシ設定

クローラー設定:

  • page_timeout: 最大ページロード時間(ミリ秒)
  • wait_for: CSS セレクタまたは JS 条件を待機
  • cache_mode: bypass、enabled、disabled
  • js_code: 実行するJavaScript
  • css_selector: 特定要素に焦点を当てる

完全なパラメータについて:CLI設定 | SDK設定

出力コンテンツ

すべてのクロールは以下を返します:

  • markdown - クリーンでフォーマットされたマークダウン
  • html - 生のHTML
  • links - 発見された内部・外部リンク
  • media - 見つかった画像、動画、オーディオ
  • extracted_content - 構造化データ(抽出が設定されている場合)

マークダウン生成(主な使用例)

Crawl4AIはクリーンでよくフォーマットされたマークダウン生成に優れています:

CLI

# 基本的なマークダウン
crwl https://docs.example.com -o markdown

# フィルタされたマークダウン(ノイズを削除)
crwl https://docs.example.com -o markdown-fit

# コンテンツフィルタ付き
crwl https://docs.example.com -f filter_bm25.yml -o markdown-fit

フィルター設定:

# filter_bm25.yml(関連性ベース)
type: "bm25"
query: "machine learning tutorials"
threshold: 1.0

Python SDK

from crawl4ai.content_filter_strategy import BM25ContentFilter
from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator

bm25_filter = BM25ContentFilter(user_query="machine learning", bm25_threshold=1.0)
md_generator = DefaultMarkdownGenerator(content_filter=bm25_filter)

config = CrawlerRunConfig(markdown_generator=md_generator)
result = await crawler.arun(url, config=config)

print(result.markdown.fit_markdown)  # フィルタ済み
print(result.markdown.raw_markdown)  # オリジナル

コンテンツフィルターについて:コンテンツ処理(2481-3101行目)


データ抽出

1. スキーマベースCSS抽出(最も効率的)

LLM不要 - 高速、決定論的、コスト無料。

CLI:

# スキーマを一度生成(LLM使用)
python scripts/extraction_pipeline.py --generate-schema https://shop.com "extract products"

# スキーマを使用して抽出(LLM不使用)
crwl https://shop.com -e extract_css.yml -s product_schema.json -o json

スキーマフォーマット:

{
  "name": "products",
  "baseSelector": ".product-card",
  "fields": [
    {"name": "title", "selector": "h2", "type": "text"},
    {"name": "price", "selector": ".price", "type": "text"},
    {"name": "link", "selector": "a", "type": "attribute", "attribute": "href"}
  ]
}

2. LLMベース抽出

複雑または不規則なコンテンツの場合:

CLI:

# extract_llm.yml
type: "llm"
provider: "openai/gpt-4o-mini"
instruction: "Extract product names and prices"
api_token: "your-token"
crwl https://shop.com -e extract_llm.yml -o json

抽出の詳細については:抽出戦略(4522-5429行目)


高度なパターン

動的コンテンツ(JavaScriptが多いサイト)

CLI:

crwl https://example.com -c "wait_for=css:.ajax-content,scan_full_page=true,page_timeout=60000"

クローラー設定:

# crawler.yml
wait_for: "css:.ajax-content"
scan_full_page: true
page_timeout: 60000
delay_before_return_html: 2.0

複数URL処理

CLI(順次実行):

for url in url1 url2 url3; do crwl "$url" -o markdown; done

Python SDK(並行実行):

urls = ["https://site1.com", "https://site2.com", "https://site3.com"]
results = await crawler.arun_many(urls, config=config)

バッチ処理について:arun_many()リファレンス(1057-1224行目)

セッション・認証

CLI:

# login_crawler.yml
session_id: "user_session"
js_code: |
  document.querySelector('#username').value = 'user';
  document.querySelector('#password').value = 'pass';
  document.querySelector('#submit').click();
wait_for: "css:.dashboard"
# ログイン
crwl https://site.com/login -C login_crawler.yml

# 保護されたコンテンツにアクセス(セッション再利用)
crwl https://site.com/protected -c "session_id=user_session"

セッション管理について:高度な機能(5429-5940行目)

ボット検出対策・プロキシ

CLI:

# browser.yml
headless: true
proxy_config:
  server: "http://proxy:8080"
  username: "user"
  password: "pass"
user_agent_mode: "random"
crwl https://example.com -B browser.yml

一般的な使用例

ドキュメントをマークダウンに変換

crwl https://docs.example.com -o markdown > docs.md

Eコマース商品監視

# スキーマを一度生成
python scripts/extraction_pipeline.py --generate-schema https://shop.com "extract products"

# 監視(LLMコスト無し)
crwl https://shop.com -e extract_css.yml -s schema.json -o json

ニュース集約

# 複数ソースをフィルタリング
for url in news1.com news2.com news3.com; do
  crwl "https://$url" -f filter_bm25.yml -o markdown-fit
done

インタラクティブQ&A

# 最初にコンテンツを表示
crwl https://example.com -o markdown

# その後に質問
crwl https://example.com -q "What are the main conclusions?"
crwl https://example.com -q "Summarize the key points"

リソース

提供されるスクリプト

  • scripts/extraction_pipeline.py - スキーマ生成と抽出
  • scripts/basic_crawler.py - シンプルなマークダウン抽出
  • scripts/batch_crawler.py - 複数URL処理

リファレンスドキュメント

ドキュメント目的
CLIガイドコマンドラインインターフェースリファレンス
SDKガイドPython SDK クイックリファレンス
完全SDKリファレンス完全なAPI documentation(5900行以上)

ベストプラクティス

  1. CLIで開始 - クイックタスク用、SDKは自動化用
  2. スキーマベース抽出を使用 - LLMより10~100倍効率的
  3. 開発時はキャッシングを有効化 - 必要時のみ--bypass-cacheを使用
  4. 適切なタイムアウトを設定 - 通常30秒、JS多用サイトは60秒以上
  5. コンテンツフィルタを使用 - より分かりやすくフォーカスしたマークダウンのため
  6. レート制限を尊重 - リクエスト間に遅延を追加

トラブルシューティング

JavaScriptが読み込まれない

crwl https://example.com -c "wait_for=css:.dynamic-content,page_timeout=60000"

ボット検出の問題

crwl https://example.com -B browser.yml
# browser.yml
headless: false
viewport_width: 1920
viewport_height: 1080
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

コンテンツが抽出されない

# デバッグ:完全な出力を表示
crwl https://example.com -o all -v

# 異なる待機戦略を試す
crwl https://example.com -c "wait_for=js:document.querySelector('.content')!==null"

セッションの問題

# セッション確認
crwl https://site.com -c "session_id=test" -o all | grep -i session

完全なAPIドキュメントについては、完全SDKリファレンスを参照してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
brettdavies
リポジトリ
brettdavies/crawl4ai-skill
ライセンス
MIT
最終更新
不明

Source: https://github.com/brettdavies/crawl4ai-skill / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: brettdavies · brettdavies/crawl4ai-skill · ライセンス: MIT