Crawleeは、信頼性の高いクローラーを構築するためにPythonで構築されたウェブスクレイピングとブラウザ自動化ライブラリです。AI、LLM、RAG、またはGPTアプリケーション用のデータを抽出したり、ウェブサイトからHTML、PDF、JPG、PNG、その他のファイルをダウンロードしたりできます。このプロジェクトはApify社によって開発され、BeautifulSoupとPlaywrightに基づいて構築された、一体型のウェブスクレイピングアプローチを採用したオープンソースのウェブスクレイピングライブラリです。
# 主要な依存関係
- BeautifulSoup: 静的なHTML解析
- Playwright: 動的なJavaScriptレンダリングページ処理
- HTTPクライアント: ネイティブHTTPリクエストのサポート
Pythonの2つの主要なオープンソースオプションであるScrapyとCrawleeから、Apifyは後者を選択しました。なぜなら、初心者はより少ないコードとより少ない読書時間でクローラーを作成できるため、Crawleeを好むと考えたからです。
pip install crawlee
from crawlee import BeautifulSoupCrawler
# クローラーインスタンスを作成
crawler = BeautifulSoupCrawler()
# リクエストハンドラーを定義
@crawler.router.default_handler
async def handler(context):
# データを抽出
data = {
'title': context.soup.find('title').get_text(),
'url': context.request.url
}
# データを保存
await context.push_data(data)
# クローラーを実行
await crawler.run(['https://example.com'])
# プロキシローテーションを設定
crawler = BeautifulSoupCrawler(
proxy_configuration={
'proxy_urls': ['http://proxy1:8000', 'http://proxy2:8000']
}
)
# 自動リトライ設定
crawler = BeautifulSoupCrawler(
max_requests_per_crawl=1000,
request_timeout=30,
retry_on_blocked=True
)
Crawlee Pythonは、最新の、強力なウェブスクレイピングライブラリであり、特にAIアプリケーション用のデータを収集する必要があるシナリオに適しています。複数の成熟したスクレイピング技術の利点を組み合わせ、簡潔なAPIと強力な機能を提供し、Python開発者がウェブスクレイピングを行うための優れた選択肢です。簡単なデータ抽出から複雑なブラウザ自動化タスクまで、Crawleeは信頼性の高いソリューションを提供できます。