2016-12-29 7 views
0

フィルタリングするURLの特定の数を避けるためにdupefilterプロセスをどのようにリセットできるのか不思議でした。 は確かに、私が続く前にクローラーを何度もテストされ、そして今私は... scrapy crawl quotes -o test_new.csv -s JOBDIR=crawls/quotes_new-1 それはいくつかのURLが重複してから訪問されていないことを私に言って続け ようなもので、それを実行することをどのように見て/編集/避けるために重複している?

  • は間違いなくOKだろうそのクローラからすべてのURLを削除する
  • はどこ重複URLを知って感謝したい(そして、私は編集できます?)フィルタリングされ
  • ので、それはなりますループ
無フィルタは私の問題では不可能ではない要求

私は自分のコードを追加することができますが、それは一般的な質問ですので、何よりも混乱すると感じました。あなたがそれを必要とする場合だけで尋ねる:)

はどうもありがとうございました、

答えて

0

あなたはDUPEFILTER_CLASS独自dupefilterクラスに設定するか、またはちょうどあなたの変更をデフォルトRFPDupeFiltersource code)クラスを拡張scrapysを設定することができます。

このドキュメントpages explains a bit more:scrapy.utils.request.request_fingerprint機能を使用して、要求の指紋に基づいて

デフォルト(RFPDupeFilter)フィルタ。

重複をチェックする方法を変更するには、RFPDupeFilterをサブクラス化し、そのrequest_fingerprintメソッドをオーバーライドすることができます。このメソッドは、Scrapy Requestオブジェクトを受け入れ、その指紋(文字列)を返す必要があります。

+0

ありがとうございました!それは私にとっては少し複雑ですが、私はそれを理解します! – Bergenist

関連する問題