必要なページだけJavaScriptをレンダリングする、Rust製の並行処理重視のWebクローラー・スクレイピングエンジン。
howie6879/ruia
asyncioとaiohttpを基盤とするPython向けの非同期Webスクレイピング用マイクロフレームワーク。URLのクロールをできるだけ手軽にします。
- スター
- 1,739
- フォーク
- 185
- 未解決の Issue
- 9
- 最終コミット
- 8 日前
これは何?
Ruiaは、asyncioとaiohttpを基盤にしたPython 3.6以降対応のWebスクレイピング用マイクロフレームワークです。抽出するデータ項目や解析ルールを宣言的に記述してスパイダーを定義でき、イベントループ上での並行リクエストはフレームワークが処理します。
拡張性を重視して設計されています。ミドルウェアを使ってリクエストとレスポンスの処理フローに介入でき、プラグインで動作を拡張できます。LinuxとmacOSでは、より高速なイベントループを実現するuvloopをインストールに含めることができます。また、プロジェクトはJavaScriptサポートも機能として挙げています。
READMEでは、デバッグ時にレスポンスをキャッシュして対象サイトへのリクエスト負荷を減らす別プロジェクトのruia-cacheと、スクリプトを対話的にデバッグするruia-shellを紹介しています。分散クローリングは、まだ実装されていない機能として記載されています。
主な機能
- 01宣言的なスパイダーとデータ項目の定義
- 02asyncioとaiohttpを基盤とした並行リクエスト
- 03拡張用のミドルウェア・プラグインシステム
- 04LinuxとmacOSでのuvloopの任意サポート
- 05JavaScriptサポート
ユースケース
- URLのリストから多数のページを並行してスクレイピングする
- Pythonで小規模な非同期データ収集スクリプトを作成する
- 独自のミドルウェアやプラグインでクローラーを拡張する
クイックスタート
- 1
Linux または Mac にインストール(uvloop を使用)
pip install -U ruia[uvloop] - 2
Windows にインストール
pip install -U ruia - 3
チュートリアルを読んで、最初の spider を作成する
使う前に知っておきたいこと
- Ruia はまだ開発中のため、API が変更される可能性があります。
- 分散クロール/スクレイピングは TODO として記載されており、まだ利用できません。
収録されている特集
トピック
よくある質問
- ruia とは?
- asyncioとaiohttpを基盤とするPython向けの非同期Webスクレイピング用マイクロフレームワーク。URLのクロールをできるだけ手軽にします。 Ruiaは、asyncioとaiohttpを基盤にしたPython 3.6以降対応のWebスクレイピング用マイクロフレームワークです。抽出するデータ項目や解析ルールを宣言的に記述してスパイダーを定義でき、イベントループ上での並行リクエストはフレームワークが処理します。
- ruia は無料で使えますか?ライセンスは?
- ruia は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ruia は今もメンテナンスされていますか?
- 活発にメンテナンス中。ruia の最終コミットは 2026年10月30日 です。
- ruia は何に使えますか?
- URLのリストから多数のページを並行してスクレイピングする Pythonで小規模な非同期データ収集スクリプトを作成する 独自のミドルウェアやプラグインでクローラーを拡張する
- ruia のインストール方法は?
- Linux または Mac にインストール(uvloop を使用): pip install -U ruia[uvloop] Windows にインストール: pip install -U ruia チュートリアルを読んで、最初の spider を作成する
- ruia はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/howie6879/ruia
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Webサイトから構造化データを抽出するスクレイパーやクローラーを作成するためのGoフレームワーク。
HTTPとヘッドレスブラウザーに対応し、プロキシのローテーションや永続ストレージを備えた、信頼性の高いWebクローラーやスクレイパーを構築するためのPythonライブラリです。
ProjectDiscovery製の高速で設定可能なWebクローラー/スパイダーフレームワーク。エンドポイントの発見に標準モードとヘッドレスブラウザーモードを利用できます。
単発のHTTPリクエストからステルスブラウザー、解析、並行クロールとエクスポートまで対応するPython製Webスクレイピングフレームワーク。
Scrapyは、Webサイトから構造化データを抽出するためのPython製スクレイピング・クローリングフレームワークです。