このプロジェクトについて
Scraplingは、単一ページのリクエストから本格的な並行クロールまでをカバーする、Python向けの適応型Webスクレイピングフレームワークです。サイトの変更時にセレクタを絶えず書き直すことなく、耐障害性のあるデータ抽出を必要とする開発者やWebスクレイパー向けに設計されています。
主な機能は次のとおりです。
- 適応型パース:パーサーは要素の位置を記憶し、類似度ベースのマッチングを用いてウェブサイトのリニューアル後も要素を再特定できます。adaptive=Trueやauto_save=Trueといったオプションにより、耐障害性のあるCSS選択が可能です。
- 柔軟なフェッチャー:ブラウザのTLSフィンガープリントやヘッダーを模倣できるHTTPフェッチャー、動的ページ向けのブラウザ自動化フェッチャー、Cloudflare Turnstileなど一般的なアンチボットシステムの回避を目的としたステルスフェッチャーがあります。すべてのフェッチャーに非同期版と永続セッションクラスが用意されています。
- 完全なスパイダーフレームワーク:start_urls、非同期parseコールバック、並行クロール、ドメインごとのスロットリング、一時停止/再開チェックポイント、ストリーミングitem出力、ブロックされたリクエストの検出、自動スロットリング、robots.txtサポート、キャッシュされたレスポンスを再生する開発モードを備えたScrapyライクなAPIです。
- プロキシとセッション管理:プロキシローテーションを内蔵し、リクエストごとのプロキシ上書き、DNS-over-HTTPSによるDNSリーク防止、CDP経由でのリモートブラウザへの任意接続に対応します。
- AIおよびエージェント連携:MCPサーバーによりAIアシスタントがHTTP、動的、またはステルスフェッチでスクレイピングでき、インジェクションリスクを減らすためにページからプロンプトが除去されます。エージェントスキルはコーディングエージェントが現在のAPIを使用するのを支援し、page.markdown()はLLMを介さずにLLM/RAG対応のクリーンなMarkdownを生成します。
- 開発者体験:対話型のIPythonベースのシェル、コードなしのCLIスクレイピング、豊富なDOMナビゲーション、自動セレクタ生成、JSON/JSONL/CSV/XMLエクスポート内蔵、Scrapyコールバックとのドロップイン統合。
このプロジェクトは、完全な型ヒント、自動型チェック、すべてのブラウザを含むDockerイメージ、ライブラリ全体にわたるテストカバレッジを維持しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.