Last translated: 16 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (äž­æ–‡).

After translating, add the links to README so others can view it directly.

🚀🀖 Crawl4AI: LLM向けオヌプン゜ヌスWebクロヌラヌスクレむパヌ

unclecode%2Fcrawl4ai | Trendshift

GitHub Stars GitHub Forks

PyPI version Python Version Downloads

License Code style: black Security: bandit Contributor Covenant

Crawl4AIはGitHubで#1トレンドのリポゞトリで、掻発なコミュニティによっおメンテナンスされおいたす。LLM、AI゚ヌゞェント、デヌタパむプラむン向けに最適化された超高速なWebクロヌリングを提䟛したす。オヌプン゜ヌスで柔軟性が高く、リアルタむムパフォヌマンスを考慮しお構築されおおり、開発者に比類ない速床、粟床、デプロむの容易さを提䟛したす。

✹ 最新アップデヌト v0.6.0をチェック

🎉 バヌゞョン0.6.0が利甚可胜になりたした このリリヌス候補では、ゞオロケヌションずロケヌル蚭定を䌎うWorld-aware Crawling、Table-to-DataFrame抜出、ブラりザプヌリングず事前りォヌミング、ネットワヌクおよびコン゜ヌルトラフィックキャプチャ、AIツヌル向けMCP統合、完党に刷新されたDockerデプロむメントが導入されおいたすリリヌスノヌトを読む →

🀓 私の個人的なストヌリヌ

私のコンピュヌタずの関わりは子䟛の頃に始たりたした。コンピュヌタ科孊者である父がAmstradコンピュヌタを玹介しおくれたのがきっかけです。その初期の日々が技術ぞの興味を匕き起こし、私はコンピュヌタサむ゚ンスを孊び、倧孊院ではNLPを専門ずしたした。この時期に初めおWebクロヌリングに取り組み、研究者が論文を敎理し出版物から情報を抜出するのを助けるツヌルを構築したした。これはデヌタ抜出スキルを磚く挑戊的でやりがいのある経隓でした。

2023幎、プロゞェクト向けのツヌルを開発䞭に、りェブペヌゞをマヌクダりンに倉換するクロヌラヌが必芁になりたした。゜リュヌションを探しおいるず、オヌプン゜ヌスを謳いながらアカりント䜜成ずAPIトヌクン生成を芁求するものを芋぀けたした。さらに悪いこずに、それは$16を請求するSaaSモデルで、品質も私の基準に達しおいたせんでした。この䞍満が怒りに倉わり、私は独自の゜リュヌションを構築するこずを決意したした。わずか数日でCrawl4AIを䜜成したした。驚いたこずに、これはバズり、数千のGitHubスタヌを獲埗し、グロヌバルなコミュニティに共感されたした。

私がCrawl4AIをオヌプン゜ヌスにした理由は2぀ありたす。1぀目は、私のキャリアを通じお支えおくれたオヌプン゜ヌスコミュニティぞの恩返しです。2぀目は、デヌタは誰もがアクセス可胜であるべきで、ペむりォヌルの埌ろに閉じ蟌められたり、少数によっお独占されたりすべきではないずいう信念です。デヌタぞのオヌプンアクセスは、個人が自分自身のモデルをトレヌニングし、自分の情報の所有暩を取るこずができるAIの民䞻化のビゞョンの基瀎を築きたす。このラむブラリは、情熱的なコミュニティによっお協力的に構築される、史䞊最高のオヌプン゜ヌスデヌタ抜出・生成ツヌルを䜜る倧きな旅の第䞀歩です。

このプロゞェクトをサポヌトし、䜿甚し、フィヌドバックを共有しおくれた皆さんに感謝したす。あなたの励たしが私にさらに倧きな倢を抱かせたす。私たちに参加し、問題を報告し、PRを提出し、たたは蚀葉を広めおください。䞀緒に、人々が自分自身のデヌタにアクセスし、AIの未来を再圢成する真に力匷いツヌルを構築したしょう。

🧐 Crawl4AIを遞ぶ理由

  1. LLM向け蚭蚈: RAGやファむンチュヌニングアプリケヌション向けに最適化されたスマヌトで簡朔なマヌクダりンを生成
  2. 超高速: リアルタむムでコスト効率の高いパフォヌマンスを6倍の速床で提䟛
  3. 柔軟なブラりザ制埡: シヌムレスなデヌタアクセスのためのセッション管理、プロキシ、カスタムフックを提䟛
  4. ヒュヌリスティックむンテリゞェンス: 高䟡なモデルぞの䟝存を枛らすための効率的な抜出のための高床なアルゎリズムを䜿甚
  5. オヌプン゜ヌスデプロむ可胜: APIキヌ䞍芁の完党なオヌプン゜ヌスで、Dockerずクラりド統合に察応
  6. 掻発なコミュニティ: 掻発なコミュニティによっおメンテナンスされ、GitHubで#1トレンドのリポゞトリ

🚀 クむックスタヌト

  1. Crawl4AIをむンストヌル:
# Install the package
pip install -U crawl4ai

# For pre release versions
pip install crawl4ai --pre

# Run post-installation setup
crawl4ai-setup

# Verify your installation
crawl4ai-doctor

ブラりザ関連の問題が発生した堎合、手動でむンストヌルできたす:

python -m playwright install --with-deps chromium
  1. Pythonで簡単なWebクロヌルを実行:
import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://www.nbcnews.com/business",
        )
        print(result.markdown)

if __name__ == "__main__":
    asyncio.run(main())
  1. たたは新しいコマンドラむンむンタヌフェヌスを䜿甚:
# Basic crawl with markdown output
crwl https://www.nbcnews.com/business -o markdown

# Deep crawl with BFS strategy, max 10 pages
crwl https://docs.crawl4ai.com --deep-crawl bfs --max-pages 10

# Use LLM extraction with a specific question
crwl https://www.example.com/products -q "Extract all product prices"

✹ 特城

📝 マヌクダりン生成
  • 🧹 クリヌンなマヌクダりン: 正確なフォヌマットでクリヌンで構造化されたマヌクダりンを生成
  • 🎯 フィットマヌクダりン: ノむズや無関係な郚分を陀去するヒュヌリスティックベヌスのフィルタリングでAIフレンドリヌな凊理
  • 🔗 匕甚ず参照: ペヌゞリンクを番号付き参照リストに倉換し、クリヌンな匕甚を提䟛
  • 🛠 カスタム戊略: 特定のニヌズに合わせた独自のマヌクダりン生成戊略を䜜成可胜
  • 📚 BM25アルゎリズム: コア情報を抜出し無関係なコンテンツを陀去するBM25ベヌスのフィルタリングを採甚
📊 構造化デヌタ抜出
  • 🀖 LLM駆動抜出: 構造化デヌタ抜出のためにすべおのLLMオヌプン゜ヌスおよびプロプラむ゚タリをサポヌト
  • 🧱 チャンキング戊略: タヌゲットコンテンツ凊理のためのチャンキングトピックベヌス、正芏衚珟、文レベルを実装
  • 🌌 コサむン類䌌床: セマンティック抜出のためのナヌザヌク゚リに基づく関連コンテンツチャンクを怜玢
  • 🔎 CSSベヌス抜出: XPathずCSSセレクタを䜿甚した高速なスキヌマベヌスのデヌタ抜出
  • 🔧 スキヌマ定矩: 繰り返しパタヌンから構造化JSONを抜出するためのカスタムスキヌマを定矩
🌐 ブラりザ統合
  • 🖥 管理されたブラりザ: ボット怜出を回避する完党な制埡を䌎うナヌザヌ所有のブラりザを䜿甚
  • 🔄 リモヌトブラりザ制埡: 倧芏暡なデヌタ抜出のためにChrome Developer Tools Protocolに接続
  • 👀 ブラりザプロファむラヌ: 保存された認蚌状態、クッキヌ、蚭定を持぀氞続的なプロファむルを䜜成・管理
  • 🔒 セッション管理: ブラりザ状態を保持し、マルチステップクロヌリングで再利甚
  • 🧩 プロキシサポヌト: 認蚌付きプロキシにシヌムレスに接続しお安党なアクセスを実珟
  • ⚙ 完党なブラりザ制埡: ヘッダヌ、クッキヌ、ナヌザヌ゚ヌゞェントなどを倉曎しおカスタマむズされたクロヌリング蚭定を実珟
  • 🌍 マルチブラりザサポヌト: Chromium、Firefox、WebKitに察応
  • 📐 動的ビュヌポヌト調敎: ブラりザのビュヌポヌトをペヌゞコンテンツに合わせお自動調敎し、すべおの芁玠の完党なレンダリングずキャプチャを保蚌
🔎 クロヌリングスクレむピング
  • 🖌 メディアサポヌト: 画像、オヌディオ、ビデオ、およびsrcsetやpictureなどのレスポンシブ画像フォヌマットを抜出
  • 🚀 動的クロヌリング: JSを実行し、非同期たたは同期を埅機しお動的コンテンツを抜出
  • 📞 スクリヌンショット: デバッグや分析のためにクロヌリング䞭にペヌゞのスクリヌンショットをキャプチャ
  • 📂 生デヌタクロヌリング: 生HTML(raw:)たたはロヌカルファむル(file://)を盎接凊理
  • 🔗 包括的なリンク抜出: 内郚リンク、倖郚リンク、および埋め蟌みiframeコンテンツを抜出
  • 🛠 カスタマむズ可胜なフック: クロヌリング動䜜をカスタマむズするためのあらゆるステップでフックを定矩
  • 💟 キャッシング: 速床向䞊ず冗長なフェッチを避けるためにデヌタをキャッシュ
  • 📄 メタデヌタ抜出: りェブペヌゞから構造化メタデヌタを取埗
  • 📡 IFrameコンテンツ抜出: 埋め蟌みiframeコンテンツからのシヌムレスな抜出
  • 🕵 レむゞヌロヌド凊理: 画像が完党にロヌドされるのを埅機し、レむゞヌロヌドによるコンテンツの芋逃しを防止
  • 🔄 フルペヌゞスキャン: 無限スクロヌルペヌゞに最適な、すべおの動的コンテンツをロヌドしおキャプチャするためのスクロヌルをシミュレヌト
🚀 デプロむメント
  • 🐳 Docker化セットアップ: FastAPIサヌバヌを備えた最適化されたDockerむメヌゞで簡単なデプロむメント
  • 🔑 セキュアな認蚌: APIセキュリティのための組み蟌みJWTトヌクン認蚌
  • 🔄 APIゲヌトりェむ: APIベヌスのワヌクフロヌのためのセキュアなトヌクン認蚌を䌎うワンクリックデプロむメント
  • 🌐 スケヌラブルなアヌキテクチャ: 倧芏暡な本番環境向けに蚭蚈され、サヌバヌパフォヌマンスが最適化
  • ☁ クラりドデプロむメント: 䞻芁なクラりドプラットフォヌム向けのデプロむメント蚭定が準備完了
🎯 远加機胜
  • 🕶 ステルスモヌド: 実際のナヌザヌを暡倣しおボット怜出を回避
  • 🏷 タグベヌスコンテンツ抜出: カスタムタグ、ヘッダヌ、たたはメタデヌタに基づいおクロヌリングを掗緎
  • 🔗 リンク分析: 詳现なデヌタ探玢のためにすべおのリンクを抜出・分析
  • 🛡 ゚ラヌハンドリング: シヌムレスな実行のための堅牢な゚ラヌ管理
  • 🔐 CORS静的提䟛: ファむルシステムベヌスのキャッシングずクロスオリゞンリク゚ストをサポヌト
  • 📖 明確なドキュメント: オンボヌディングず高床な䜿甚法のための簡玠化され曎新されたガむド
  • 🙌 コミュニティ認識: 透明性のために貢献者ずプルリク゚ストを認識

今すぐ詊す

✹ Open In Colab で詊しおみる

✹ ドキュメントりェブサむトを蚪問

むンストヌル 🛠

Crawl4AIは様々なナヌスケヌスに合わせた柔軟なむンストヌルオプションを提䟛したす。Pythonパッケヌゞずしおむンストヌルするか、Dockerを䜿甚できたす。

🐍 pipを䜿甚

ニヌズに最適なむンストヌルオプションを遞択:

基本むンストヌル

基本的なWebクロヌリングずスクレむピングタスク向け:

pip install crawl4ai
crawl4ai-setup # Setup the browser

デフォルトでは、WebクロヌリングにPlaywrightを䜿甚するCrawl4AIの非同期バヌゞョンがむンストヌルされたす。

👉 泚意: Crawl4AIをむンストヌルするず、crawl4ai-setupが自動的にPlaywrightをむンストヌルしおセットアップするはずです。しかし、Playwright関連の゚ラヌが発生した堎合、以䞋のいずれかの方法で手動でむンストヌルできたす:

  1. コマンドラむンから:

    playwright install
    
  2. 䞊蚘がうたくいかない堎合、このより具䜓的なコマンドを詊しおください:

    python -m playwright install chromium
    

この2番目の方法は、いく぀かのケヌスでより信頌性が高いこずが蚌明されおいたす。


同期バヌゞョンでのむンストヌル

同期バヌゞョンは非掚奚で、将来のバヌゞョンで削陀されたす。Seleniumを䜿甚する同期バヌゞョンが必芁な堎合:

pip install crawl4ai[sync]

開発むンストヌル

゜ヌスコヌドを倉曎する予定の貢献者向け:

git clone https://github.com/unclecode/crawl4ai.git
cd crawl4ai
pip install -e .                    # Basic installation in editable mode

オプション機胜をむンストヌル:

pip install -e ".[torch]"           # With PyTorch features
pip install -e ".[transformer]"     # With Transformer features
pip install -e ".[cosine]"          # With cosine similarity features
pip install -e ".[sync]"            # With synchronous crawling (Selenium)
pip install -e ".[all]"             # Install all optional features
🐳 Dockerデプロむメント

🚀 利甚可胜になりたした 完党に再蚭蚈されたDocker実装が登堎この新しい゜リュヌションは、これたで以䞊に効率的でシヌムレスなデプロむメントを実珟したす。

新しいDocker機胜

新しいDocker実装には以䞋が含たれたす:

  • より速い応答時間のためのペヌゞ事前りォヌミングを䌎うブラりザプヌリング
  • リク゚ストコヌドをテストおよび生成するためのむンタラクティブプレむグラりンド
  • Claude CodeなどのAIツヌルに盎接接続するためのMCP統合
  • HTML抜出、スクリヌンショット、PDF生成、JavaScript実行を含む包括的なAPI゚ンドポむント
  • 自動怜出(AMD64/ARM64)を䌎うマルチアヌキテクチャサポヌト
  • 改善されたメモリ管理を䌎う最適化されたリ゜ヌス

はじめに

# Pull and run the latest release candidate
docker pull unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number

# Visit the playground at http://localhost:11235/playground

完党なドキュメントに぀いおは、Dockerデプロむメントガむドを参照しおください。


クむックテスト

クむックテストを実行䞡方のDockerオプションで動䜜:

import requests

# Submit a crawl job
response = requests.post(
    "http://localhost:11235/crawl",
    json={"urls": "https://example.com", "priority": 10}
)
task_id = response.json()["task_id"]

# Continue polling until the task is complete (status="completed")
result = requests.get(f"http://localhost:11235/task/{task_id}")

より倚くの䟋に぀いおは、Docker䟋を参照しおください。高床な蚭定、環境倉数、および䜿甚䟋に぀いおは、Dockerデプロむメントガむドを参照しおください。

🔬 高床な䜿甚䟋 🔬

プロゞェクト構造はディレクトリhttps://github.com/unclecode/crawl4ai/docs/examplesで確認できたす。そこには様々な䟋がありたす。ここでは、いく぀かの人気のある䟋を共有したす。

📝 クリヌンでフィットしたマヌクダりンを䌎うヒュヌリスティックマヌクダりン生成
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
from crawl4ai.content_filter_strategy import PruningContentFilter, BM25ContentFilter
from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator

async def main():
    browser_config = BrowserConfig(
        headless=True,  
        verbose=True,
    )
    run_config = CrawlerRunConfig(
        cache_mode=CacheMode.ENABLED,
        markdown_generator=DefaultMarkdownGenerator(
            content_filter=PruningContentFilter(threshold=0.48, threshold_type="fixed", min_word_threshold=0)
        ),
        # markdown_generator=DefaultMarkdownGenerator(
        #     content_filter=BM25ContentFilter(user_query="WHEN_WE_FOCUS_BASED_ON_A_USER_QUERY", bm25_threshold=1.0)
        # ),
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result = await crawler.arun(
            url="https://docs.micronaut.io/4.7.6/guide/",
            config=run_config
        )
        print(len(result.markdown.raw_markdown))
        print(len(result.markdown.fit_markdown))

if __name__ == "__main__":
    asyncio.run(main())
🖥 JavaScriptの実行ずLLMなしでの構造化デヌタ抜出
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
from crawl4ai.extraction_strategy import JsonCssExtractionStrategy
import json

async def main():
    schema = {
    "name": "KidoCode Courses",
    "baseSelector": "section.charge-methodology .w-tab-content > div",
    "fields": [
        {
            "name": "section_title",
            "selector": "h3.heading-50",
            "type": "text",
        },
        {
            "name": "section_description",
            "selector": ".charge-content",
            "type": "text",
        },
        {
            "name": "course_name",
            "selector": ".text-block-93",
            "type": "text",
        },
        {
            "name": "course_description",
            "selector": ".course-content-text",
            "type": "text",
        },
        {
            "name": "course_icon",
            "selector": ".image-92",
            "type": "attribute",
            "attribute": "src"
        }
    }
}

    extraction_strategy = JsonCssExtractionStrategy(schema, verbose=True)

    browser_config = BrowserConfig(
        headless=False,
        verbose=True
    )
    run_config = CrawlerRunConfig(
        extraction_strategy=extraction_strategy,
        js_code=["""(async () => {const tabs = document.querySelectorAll("section.charge-methodology .tabs-menu-3 > div");for(let tab of tabs) {tab.scrollIntoView();tab.click();await new Promise(r => setTimeout(r, 500));}})();"""],
        cache_mode=CacheMode.BYPASS
    )
        
    async with AsyncWebCrawler(config=browser_config) as crawler:
        
        result = await crawler.arun(
            url="https://www.kidocode.com/degrees/technology",
            config=run_config
        )

        companies = json.loads(result.extracted_content)
        print(f"Successfully extracted {len(companies)} companies")
        print(json.dumps(companies[0], indent=2))


if __name__ == "__main__":
    asyncio.run(main())
📚 LLMを䜿甚した構造化デヌタ抜出
import os
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode, LLMConfig
from crawl4ai.extraction_strategy import LLMExtractionStrategy
from pydantic import BaseModel, Field

class OpenAIModelFee(BaseModel):
    model_name: str = Field(..., description="Name of the OpenAI model.")
    input_fee: str = Field(..., description="Fee for input token for the OpenAI model.")
    output_fee: str = Field(..., description="Fee for output token for the OpenAI model.")

async def main():
    browser_config = BrowserConfig(verbose=True)
    run_config = CrawlerRunConfig(
        word_count_threshold=1,
        extraction_strategy=LLMExtractionStrategy(
            # Here you can use any provider that Litellm library supports, for instance: ollama/qwen2
            # provider="ollama/qwen2", api_token="no-token", 
            llm_config = LLMConfig(provider="openai/gpt-4o", api_token=os.getenv('OPENAI_API_KEY')), 
            schema=OpenAIModelFee.schema(),
            extraction_type="schema",
            instruction="""From the crawled content, extract all mentioned model names along with their fees for input and output tokens. 
            Do not miss any models in the entire content. One extracted model JSON format should look like this: 
            {"model_name": "GPT-4", "input_fee": "US$10.00 / 1M tokens", "output_fee": "US$30.00 / 1M tokens"}."""
        ),            
        cache_mode=CacheMode.BYPASS,
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        result = await crawler.arun(
            url='https://openai.com/api/pricing/',
            config=run_config
        )
        print(result.extracted_content)

if __name__ == "__main__":
    asyncio.run(main())
🀖 カスタムナヌザヌプロファむルで独自のブラりザを䜿甚
import os, sys
from pathlib import Path
import asyncio, time
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode

async def test_news_crawl():
    # Create a persistent user data directory
    user_data_dir = os.path.join(Path.home(), ".crawl4ai", "browser_profile")
    os.makedirs(user_data_dir, exist_ok=True)

    browser_config = BrowserConfig(
        verbose=True,
        headless=True,
        user_data_dir=user_data_dir,
        use_persistent_context=True,
    )
    run_config = CrawlerRunConfig(
        cache_mode=CacheMode.BYPASS
    )
    
    async with AsyncWebCrawler(config=browser_config) as crawler:
        url = "ADDRESS_OF_A_CHALLENGING_WEBSITE"
        
        result = await crawler.arun(
            url,
            config=run_config,
            magic=True,
        )
        
        print(f"Successfully crawled {url}")
        print(f"Content length: {len(result.markdown)}")

✹ 最近のアップデヌト

バヌゞョン0.6.0リリヌスハむラむト

  • 🌎 World-awareクロヌリング: 本物のロケヌル固有コンテンツのためのゞオロケヌション、蚀語、タむムゟヌンを蚭定:

      crun_cfg = CrawlerRunConfig(
          url="https://browserleaks.com/geo",          # あなたの䜍眮を衚瀺するテストペヌゞ
          locale="en-US",                              # Accept-Language & UIロケヌル
          timezone_id="America/Los_Angeles",           # JS Date()/Intlタむムゟヌン
          geolocation=GeolocationConfig(                 # GPS座暙を䞊曞き
              latitude=34.0522,
              longitude=-118.2437,
              accuracy=10.0,
          )
      )
    
  • 📊 テヌブルからDataFrameぞの抜出: HTMLテヌブルを盎接CSVたたはpandas DataFramesに抜出:

      crawler = AsyncWebCrawler(config=browser_config)
      await crawler.start()
    
      try:
          # スクレむピングパラメヌタを蚭定
          crawl_config = CrawlerRunConfig(
              table_score_threshold=8,  # 厳栌なテヌブル怜出
          )
    
          # 垂堎デヌタ抜出を実行
          results: List[CrawlResult] = await crawler.arun(
              url="https://coinmarketcap.com/?page=1", config=crawl_config
          )
    
          # 結果を凊理
          raw_df = pd.DataFrame()
          for result in results:
              if result.success and result.media["tables"]:
                  raw_df = pd.DataFrame(
                      result.media["tables"][0]["rows"],
                      columns=result.media["tables"][0]["headers"],
                  )
                  break
          print(raw_df.head())
    
      finally:
          await crawler.stop()
    
  • 🚀 ブラりザプヌリング: 事前りォヌミングされたブラりザむンスタンスでペヌゞを起動し、レむテンシずメモリ䜿甚量を䜎枛

  • 🕞 ネットワヌクずコン゜ヌルキャプチャ: デバッグのための完党なトラフィックログずMHTMLスナップショット:

    crawler_config = CrawlerRunConfig(
        capture_network=True,
        capture_console=True,
        mhtml=True
    )
    
  • 🔌 MCP統合: Model Context Protocolを通じおClaude CodeなどのAIツヌルに接続

    # Crawl4AIをClaude Codeに远加
    claude mcp add --transport sse c4ai-sse http://localhost:11235/mcp/sse
    
  • 🖥 むンタラクティブプレむグラりンド: 組み蟌みのWebむンタヌフェヌスで蚭定をテストし、APIリク゚ストを生成 http://localhost:11235//playground

  • 🐳 刷新されたDockerデプロむメント: 改善されたリ゜ヌス効率を䌎う合理化されたマルチアヌキテクチャDockerむメヌゞ

  • 📱 マルチステヌゞビルドシステム: プラットフォヌム固有のパフォヌマンス向䞊を䌎う最適化されたDockerfile

詳现は0.6.0リリヌスノヌトたたはCHANGELOGを参照しおください。

前バヌゞョン: 0.5.0 メゞャヌリリヌスのハむラむト

  • 🚀 ディヌプクロヌリングシステム: BFS、DFS、BestFirst戊略で初期URLを超えたりェブサむト探玢
  • ⚡ メモリ適応型ディスパッチャ: システムメモリに基づき動的に䞊列凊理を調敎
  • 🔄 耇数クロヌリング戊略: ブラりザベヌスず軜量HTTP専甚クロヌラヌの遞択肢
  • 💻 コマンドラむンむンタヌフェヌス: 新芏crwl CLIでタヌミナルアクセスが可胜に
  • 👀 ブラりザプロファむラヌ: 氞続的なブラりザプロファむルの䜜成・管理
  • 🧠 Crawl4AIコヌディングアシスタント: AI搭茉のコヌディング支揎ツヌル
  • 🏎 LXMLスクレむピングモヌド: lxmlラむブラリによる高速HTML解析
  • 🌐 プロキシロヌテヌション: プロキシ切り替えの組み蟌みサポヌト
  • 🀖 LLMコンテンツフィルタヌ: LLMを掻甚したむンテリゞェントなMarkdown生成
  • 📄 PDF凊理: PDFファむルからテキスト、画像、メタデヌタを抜出

詳现は0.5.0リリヌスノヌトをご芧ください。

Crawl4AIのバヌゞョン番号䜓系

Crawl4AIはPythonの暙準バヌゞョン番号芏則PEP 440に埓い、各リリヌスの安定性ず機胜を明確に瀺したす。

バヌゞョン番号の説明

バヌゞョン番号はMAJOR.MINOR.PATCH圢匏䟋: 0.4.3です。

プレリリヌスバヌゞョン

開発段階を衚す接尟蟞を䜿甚:

  • dev (0.4.3dev1): 開発版、䞍安定
  • a (0.4.3a1): アルファ版、実隓的機胜
  • b (0.4.3b1): ベヌタ版、機胜完成だがテスト必芁
  • rc (0.4.3): リリヌス候補版、最終版候補

むンストヌル方法

  • 安定版むンストヌル:

    pip install -U crawl4ai
    
  • プレリリヌス版むンストヌル:

    pip install crawl4ai --pre
    
  • 特定バヌゞョンむンストヌル:

    pip install crawl4ai==0.4.3b1
    

プレリリヌスの目的

プレリリヌス版を䜿甚する理由:

  • 新機胜の実環境テスト
  • 最終リリヌス前のフィヌドバック収集
  • 本番環境向けの安定性確保
  • 早期利甚者向け機胜提䟛

本番環境では安定版の䜿甚を掚奚したす。新機胜テストには--preフラグでプレリリヌス版を遞択可胜です。

📖 ドキュメント & ロヌドマップ

🚚 ドキュメント曎新予告: 来週、最新アップデヌトを反映した倧芏暡なドキュメント改蚂を実斜予定です。より包括的で最新のガむドをお楜しみに

珟圚のドキュメントむンストヌル手順、高床な機胜、APIリファレンスはドキュメントサむトをご芧ください。

開発蚈画ず今埌の機胜はロヌドマップで確認できたす。

📈 開発TODOリスト
  • 0. グラフクロヌラヌ: グラフ探玢アルゎリズムによる包括的なネストペヌゞ抜出
  • 1. 質問ベヌスクロヌラヌ: 自然蚀語駆動型りェブ発芋・コンテンツ抜出
  • 2. 知識最適化クロヌラヌ: デヌタ抜出最小化で知識最倧化するむンテリゞェントクロヌリング
  • 3. ゚ヌゞェンシッククロヌラヌ: 耇数段階クロヌリング操䜜の自埋システム
  • 4. 自動スキヌマゞェネレヌタヌ: 自然蚀語から抜出スキヌマぞ倉換
  • 5. ドメむン特化スクレむパヌ: 䞻芁プラットフォヌム向け事前蚭定枈み抜出噚孊術、eコマヌス
  • 6. りェブ埋め蟌みむンデックス: クロヌルコンテンツのセマンティック怜玢基盀
  • 7. むンタラクティブプレむグラりンド: AI支揎付きテスト・戊略比范甚Web UI
  • 8. パフォヌマンスモニタヌ: クロヌラヌ操䜜のリアルタむム可芖化
  • 9. クラりド統合: クラりドプロバむダヌ向けワンクリックデプロむ
  • 10. スポンサヌシッププログラム: 階局型特兞付き支揎システム
  • 11. 教育コンテンツ: 「クロヌリング入門」動画シリヌズずむンタラクティブチュヌトリアル

🀝 コントリビュヌション

オヌプン゜ヌスコミュニティからの貢献を歓迎したす。コントリビュヌションガむドラむンをご確認ください。

ラむセンスセクションをバッゞ付きで曎新したす。ハヌフトヌン効果を含むバヌゞョンは以䞋の通りです:

📄 ラむセンス & 垰属衚瀺

本プロゞェクトはApache License 2.0でラむセンスされおおり、垰属衚瀺が必須です。詳现はApache 2.0ラむセンスファむルをご芧ください。

垰属衚瀺芁件

Crawl4AI䜿甚時には以䞋のいずれかの垰属衚瀺方法が必芁です:

1. バッゞ衚瀺掚奚

README、ドキュメント、りェブサむトに以䞋のバッゞを远加:

テヌマバッゞ
ディスコテヌマアニメヌションPowered by Crawl4AI
ナむトテヌマネオン調ダヌクPowered by Crawl4AI
ダヌクテヌマクラシックPowered by Crawl4AI
ラむトテヌマクラシックPowered by Crawl4AI

バッゞ远加甚HTMLコヌド:

<!-- Disco Theme (Animated) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-disco.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Night Theme (Dark with Neon) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-night.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Dark Theme (Classic) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-dark.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Light Theme (Classic) -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://raw.githubusercontent.com/unclecode/crawl4ai/main/docs/assets/powered-by-light.svg" alt="Powered by Crawl4AI" width="200"/>
</a>

<!-- Simple Shield Badge -->
<a href="https://github.com/unclecode/crawl4ai">
  <img src="https://img.shields.io/badge/Powered%20by-Crawl4AI-blue?style=flat-square" alt="Powered by Crawl4AI"/>
</a>

2. テキスト衚瀺

ドキュメントに以䞋の行を远加:

This project uses Crawl4AI (https://github.com/unclecode/crawl4ai) for web data extraction.

📚 匕甚

研究やプロゞェクトでCrawl4AIを䜿甚する堎合は以䞋の圢匏で匕甚しおください:

@software{crawl4ai2024,
  author = {UncleCode},
  title = {Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/unclecode/crawl4ai}},
  commit = {Please use the commit hash you're working with}
}

テキスト匕甚圢匏:

UncleCode. (2024). Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper [Computer software]. 
GitHub. https://github.com/unclecode/crawl4ai

📧 連絡先

質問、提案、フィヌドバックは以䞋たでお気軜に:

Happy Crawling! 🕞🚀

🗟 ミッション

個人・䌁業デヌタの䟡倀を解攟し、デゞタルフットプリントを構造化された取匕可胜な資産ぞ倉換するこずを䜿呜ずしたす。Crawl4AIはオヌプン゜ヌスツヌルでデヌタ抜出・構造化を可胜にし、共有デヌタ経枈を促進したす。

私たちは、実圚する人間の知識によっお支えられるAIの未来を構想しおいたす。デヌタ民䞻化ず倫理的共有により、真のAI進歩の基盀を築きたす。

🔑 䞻芁な機䌚
  • デヌタ資本化: デゞタルフットプリントを枬定可胜な䟡倀ある資産ぞ倉換
  • 真正なAIデヌタ: AIシステムに実圚する人間の掞察を提䟛
  • 共有経枈: デヌタ䜜成者が利益を埗る公平なマヌケットプレむス創出
🚀 開発パスりェむ
  1. オヌプン゜ヌスツヌル: 透明性あるデヌタ抜出のためのコミュニティ駆動型プラットフォヌム
  2. デゞタル資産構造化: デゞタル知識を敎理・評䟡するツヌル
  3. 倫理的デヌタマヌケットプレむス: 構造化デヌタ亀換の安党で公平なプラットフォヌム

詳现は完党なミッションステヌトメントをご芧ください。

スタヌ履歎

Star History Chart