D4Vinci/Scrapling

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

何を解決するか

Scraplingは、ウェブスクレイピングの脆弱性と複雑さを解決します。ウェブサイトのデザイン変更によってスクレイパーが壊れる問題、現代のボット防止システム(Cloudflare Turnstileなど)を回避する難しさ、単一リクエストから大規模な並列クロールへのスケーリングのオーバーヘッドをすべて解決します。

動作方法

Scraplingは、取得、解析、クロールを統合した包括的なツールキットを提供します。

  • 適応型解析: ウェブサイトの構造が更新された際に、類似性アルゴリズムを使って要素を自動追跡・再配置し、手動でのセレクタ更新の必要を減らします。
  • 隠密取得: StealthyFetcherDynamicFetcher といった専用フェッチャーがブラウザのフィンガープリントを偽装し、TLSを模倣し、ブラウザ自動化を処理することで、ボット検出を回避します。
  • スパイダー枠組み: Scrapy風のAPIにより、非同期コールバック、並列リクエスト制限、自動プロキシローテーションを定義できるスパイダーを構築できます。
  • AutoThrottle: サーバーの応答時間に基づいてクロール速度を動的に調整し、レート制限が検出された場合は自動的にバックオフします。
  • セッション管理: リクエスト間でクッキーと状態を管理し、DNS-over-HTTPSをサポートして漏洩を防止します。

対象ユーザー

現代的で動的なウェブサイトから大規模にデータを収集する必要があり、メンテナンスを最小限に抑え、ブロックを回避したいウェブスクレイパーおよびデータエンジニア向けに設計されています。

特徴

  • 適応型スクレイピング: ウェブサイトのデザイン変更後でも要素を自動で検出可能。
  • ボット防止回避: Cloudflare Turnstile など、他のボット保護機能に対応する組み込み機能。
  • 大規模クロール: 並列クロール、一時停止/再開のチェックポイント、リアルタイムでの結果ストリーミングをサポート。
  • 柔軟な取得: 標準HTTP、ヘッドレスブラウザ(Playwright/Chrome)、CDP経由のリモートブラウザ接続をサポート。
  • APIキャプチャ: バックグラウンドの XHR/fetch 応答をキャプチャし、APIの逆エンジニアリングなしでデータを抽出可能。
  • 事前構築テンプレート: サイトマップ、XML/CSVフィード、Shopifyストア用の専用スパイダーを含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト