2016-09-27 12 views
1

私は治療に取り組んでいます。私は、dbテーブルをループし、各スクレイプ(random_form_page)の開始ページを取得し、各開始ページの要求を生成します。私は最初のリクエストでプロキシを取得するためにAPIを打つことに注意してください。私は私が持っているコールバックモデル使用して、独自のプロキシを持つように各要求を設定したい:スクリーニング - フィルタリングされた重複リクエスト

def start_requests(self): 
    for x in xrange(8): 
     random_form_page = session.query(.... 

     PR = Request(
      'htp://my-api', 
      headers=self.headers, 
      meta={'newrequest': Request(random_form_page, headers=self.headers)}, 
      callback=self.parse_PR 
     ) 
     yield PR 

を私が気付か:

[scrapy] DEBUG: Filtered duplicate request: <GET 'htp://my-api'> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates) 

私のコードでは、私はそれが8をループがあることがわかります最初のページのリクエストのみを生成します。私が想定している他のものは除外されています。私はhttp://doc.scrapy.org/en/latest/topics/settings.html#dupefilter-classを見てきましたが、このフィルタリング動作を止める方法はまだ分かりません。フィルタリングを解除するにはどうすればよいですか?

答えて

5

使用

Requestオブジェクトにおける真dont_filter =

def start_requests(self): 
    for x in xrange(8): 
     random_form_page = session.query(.... 

     PR = Request(
      'htp://my-api', 
      headers=self.headers, 
      meta={'newrequest': Request(random_form_page, headers=self.headers)}, 
      callback=self.parse_PR, 
      dont_filter = True 
     ) 
     yield PR 
+0

ありがとうございました! – user61629

関連する問題