私はURLのリストを解析しています。いくつかの値の条件で結果のURLを保存することを避けたいと思います。私のコードは次のようなものです:Scrapy:条件項目値で歩留まり要求を防止する方法
start_urls = [www.rootpage.com]
def parse(self,response):
item = CreatedItem()
url_list = response.xpath('somepath').extract()
for url in url_list:
request = scrapy.Request(item['url'],callback=self.parse_article)
request.meta['item'] = item
yield request
def parse_article(self,response):
item = response.meta['item']
item['parameterA'] = response.xpath('somepath').extract()
yield item
今、私はケース項目[「parameterA」]で条件に従うことをしたい、「降伏要求」(このURLには貯蓄が発生しないように)する必要はありません。私は、条件のように追加してみました:
if item['parameterA'] == 0:
continue
else:
yield item
をしかし期待通りscrapyは、要求が実行される前であっても、ループを続けるためには、動作しません。
あなたが 'parameterA'を取得する唯一の方法は要求することですか? – alecxe
はい、そのURLの下にあるものを「参照」しなければならないため、保存するかどうかを決定します。 – Miguel