2016-09-26 8 views
0

で複数の出発点要求を降伏:利回り、その後、私はDBテーブルをループにしたいし、各こすり(random_form_page)の開始ページをつかむ私は、次のコード(簡体字)で働いていますscrapy

def parse(self, response): 

    print('hello') 
    for x in xrange(8): 
     print x 

     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 

各開始ページの要求。私のコードでは、8回ループしても最初の開始ページのリクエストしか得られないことが分かります。私は間違って何をしていますか?

答えて

2

あなたはstart_requests() method代わりのparse()を使用する必要があります。

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 

それが設定されている場合にもstart_urlsを省略すべきです。

+0

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

関連する問題