25

私はScrapyWebスクレイピングフレームワークをかなり広範囲に使用してきましたが、最近、 と呼ばれる別のフレームワーク/システムがあることを発見しました。pyspiderこれは、githubページによると、新しく、活発に開発され、人気があります。

pyspiderのホームページには、すぐに使用できるいくつかの機能がリストされています。

  • スクリプト エディター、タスク モニター、プロジェクト マネージャー、結果ビューアーを備えた強力な WebUI

  • Javascriptページ対応!

  • タスクの優先度、再試行、定期的および再クロール (更新時間など) の年齢またはインデックス ページのマークによる

  • 分散アーキテクチャ

これらはScrapyそれ自体では提供されないものですが、portia(Web UI の場合)、scrapyjs(js ページの場合)、scrapyd(API を介したデプロイと配布) の助けを借りて可能になります。

pyspiderそれだけでこれらすべてのツールを置き換えることができるというのは本当ですか? 言い換えれば、pyspiderScrapy の直接的な代替手段はありますか? そうでない場合、それはどのユースケースをカバーしていますか?

「広すぎる」または「意見に基づく」一線を越えていないことを願っています。

4

2 に答える 2

29

pyspider と Scrapy は Web スクレイピングという同じ目的を持っていますが、その目的は異なります。

  • Spider は、WWW が機能しなくなるまで決して停止するべきではありません。(情報は変化しており、ウェブサイトでデータが更新されています。スパイダーは最新のデータをスクレイピングする能力と責任を持っている必要があります。そのため、pyspider には URL データベース、強力なスケジューラー、@everyなどがageあります。)

  • pyspider はフレームワーク以上のサービスです。(コンポーネントは分離されたプロセスで実行されます。ライトallバージョンもサービスとして実行されます。Python 環境は必要ありませんが、ブラウザーが必要です。フェッチまたはスケジュールに関するすべては、スタートアップ パラメーターやグローバル構成、リソース/プロジェクトではなく、API を介してスクリプトによって制御されます。 pyspiderなどで管理されています...)

  • pyspider はスパイダーシステムです。(C/C++/Java または任意の言語で開発されたものであっても、パフォーマンスや容量を向上させるために、任意のコンポーネントを置き換えることができます)

  • on_startstart_url
  • トークン バケットトラフィック制御 vsdownload_delay
  • return jsonclass Item
  • メッセージキュー vsPipeline
  • 組み込みの URL データベース vsset
  • 永続性とインメモリ
  • PyQuery + 任意の 3 番目のパッケージ vs 組み込みの CSS/Xpath サポート

実際、私は Scrapy からあまり参照していません。pyspider は Scrapy とはまったく異なります。

でも、自分で試してみませんか?pyspider も高速で、使いやすい API を備えており、インストールなしで試すことができます。

于 2014-12-02T09:59:38.120 に答える