大量のドメインに対してクロールするならScrapy-Redisがオススメ
Scrapy-Redis
pip install scrapy_redis
して基本settings.pyを置き換えるだけ
導入するメリット
- scrapyのスケジューラ、start_urlsのキュー、パイプラインにredisを使える(別々の拡張設定)
- 外部連携や多重化が容易
- スケジューラのキューが永続化されるので、途中でクローラーを止めても再開が可能
- 同じSpiderをマルチプロセスやマルチサーバで複数起動して、同時に並列でクローリングできるようになる
- pipelineで出力をredisに設定することで、後続の処理を別のワーカプロセスで処理できる
- DBにバルクで書き込む
- トークナイズする
- 機械学習のストリームに流す
- spiderのstart_urlsもredisにできるので、外部サービスから開始URLのキューにプッシュできる。
Scrapyはチューニング次第で1コアで1000ページ/分程度いけるから(CPU 100%食いきれる)、
Scrapy-Redisを使うことで、コア数 * 1000ページ/分クロールできるようになる。
Author And Source
この問題について(大量のドメインに対してクロールするならScrapy-Redisがオススメ), 我々は、より多くの情報をここで見つけました https://qiita.com/sugiki/items/9f1fe42c262c69eba09a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .