3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ScrapyでRedisを使う場合に
Scrapy-Redisが有名です。

どうRedisが使われているかを少し書きます。

リクエストのキューと重複チェックのリストがRedisに格納されます。

リクエストのキュー

「[spider name]:requests」という名前のzset型
http://scrapy-redis.readthedocs.io/en/stable/_modules/scrapy_redis/scheduler.html

Parameters込みのURLが並んでいます。
Request objects

重複チェックのリスト

「[spider name]:dupefilter」という名前のset型

重複するrequestsを排除するためにfingerprint(Hash値?)を持っています。

ScrapyのArchitecture overviewとRedis

image

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

という設定でSchedulerがRedisを使います。

最後に

なんらかの原因でScrapyが止まってしまっても、
リクエストのキューが残っていれば、そこから再開され、
重複チェックのリストもあれば、
既にクロールしたURLにはアクセスせずに続けることができます。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?