- モダンWebの複雑な構造やアンチボットシステムを回避し、単一リクエストから大規模クロールまで処理
- Webサイトの構造変更時に自動で要素を再探索する**インテリジェントパーサー(parser)**を内蔵
- Cloudflare Turnstile など主要なセキュリティシステムを標準で回避する Fetcherモジュール を内蔵
- Spiderフレームワーク により、並行処理、セッション管理、一時停止/再開、プロキシローテーションなどの大規模クロール機能をサポート
- Scrapyに似たAPI:
start_urls、非同期 parse コールバック、Request/Response オブジェクトを活用
- 並行クロールとセッション分離: 複数のブラウザセッションを並列実行可能
- Checkpointベースの一時停止・再開機能: 長時間のクロールでも安定
- リアルタイムストリーミングモード: 収集データを即時処理したりUIに反映可能
- ブロックされたリクエストを自動検知し、カスタムロジックで再試行可能
- Hookを使って独自のパイプラインへ結果をエクスポート可能(JSON/JSONL)
- セッションをサポートする高度なWebサイトFetching
- Fetcher クラスが HTTP/3、TLSフィンガープリント偽装、ヘッダー偽装などの高度なリクエスト機能をサポート
- DynamicFetcher により Playwright/Chromeベースのブラウザ自動化 を実行
- StealthyFetcher は Cloudflare Turnstile などのアンチボット防御を自動回避
- ProxyRotator でリクエスト単位のプロキシ切り替えや ドメインブロック制御 が可能
- すべてのFetcherは**非同期(async)**方式で動作し、セッションクラス(
FetcherSession, DynamicSession など)を提供
- 適応型スクレイピング(Adaptive Scraping) により、Webサイト変更後も要素を自動再探索
- 類似度ベースの要素追跡アルゴリズム: 構造変更に強いデータ収集が可能
- CSS/XPath/テキスト/正規表現ベースのセレクターをすべてサポート
- AI統合向けMCPサーバーを内蔵: Claude、Cursor などと連携して AI支援データ抽出 を実行
- AI呼び出し前にScraplingが対象コンテンツを選別し、トークン使用量削減と速度向上
- 高性能アーキテクチャ
- ほとんどのPythonスクレイピングライブラリより高速な処理速度を提供
- メモリ効率の高い構造と**遅延読み込み(lazy loading)**により軽量に実行
- JSONシリアライズ速度10倍向上、92%のテストカバレッジ、静的型ヒント完備
- 多くのWebスクレイパーコミュニティで実戦投入済み(battle-tested)
- 開発者/Webスクレイパーに優しい体験を提供
- 対話型Web Scraping Shell を内蔵: IPythonベースのリアルタイム探索とリクエスト変換をサポート
- CLIコマンドにより、コードを書かずにURLスクレイピングやファイル抽出が可能
- DOM探索APIで親/兄弟/子の関係を探索し、類似要素探索機能も提供
- 自動セレクター生成器で安定したCSS/XPathセレクターを自動生成
- Scrapy/BeautifulSoupに似たAPI: 既存ユーザーに馴染みやすい開発体験を提供
- PyRight/MyPyベースの静的解析とDockerイメージ自動ビルドでデプロイのしやすさも強化
- 性能ベンチマーク
- ScraplingパーサーはParsel/Scrapyよりやや高速で、
BeautifulSoup4 (bs4) と比べて 最大700倍以上高速な処理速度 を記録
- 要素類似度探索性能 も AutoScraper と比べて 5倍以上高速な結果 を達成
pip install scrapling でインストールするか、
Dockerイメージ を提供しているため、ブラウザ込みの完全な実行環境を構築可能 docker pull pyd4vinci/scrapling
- BSD-3-Clauseライセンス
3件のコメント
法的に問題はないのでしょうか??? オンライン情報を取得すること自体は問題なかったという話を見たことはあるのですが..
サイト側でクロールできないようにしている制限を回避して読む場合でも、問題がないのか気になります。
ログイン後に閲覧できる内容だけが危険なのでしょうか?
> with FetcherSession(impersonate='chrome') as session: # Use latest version of Chrome's TLS fingerprint
面白いですね。いつも検索して手動で入れていたので、こういうライブラリは初めて見ました。便利そうですね。
ただ、Cloudflareをどうやって回避するのか気になりますね。コードを一度見ないと分からない気がします