Repolode
howie6879

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. 1

    Linux または Mac にインストール(uvloop を使用)

    pip install -U ruia[uvloop]
  2. 2

    Windows にインストール

    pip install -U ruia
  3. 3

    チュートリアルを読んで、最初の spider を作成する

使う前に知っておきたいこと

  • Ruia はまだ開発中のため、API が変更される可能性があります。
  • 分散クロール/スクレイピングは TODO として記載されており、まだ利用できません。

収録されている特集

トピック

#web-scraping#crawler#asyncio#python#aiohttp#spider#async#asyncio-spider#crawling-framework#middlewares

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト