Scrapy Spider语言 - 响应回调中的 for 循环不迭代



我正在尝试在此SO线程中使用"warwaruk"描述的链接解析结构:以下链接,Scrapy 网络爬虫框架

当仅从每个页面中抓取一个项目时,这非常有用。但是,当我尝试创建一个 for 循环来抓取每个页面中的所有项目时,似乎 parse_item 函数在到达第一个 yield 语句时终止。我有一个自定义管道设置来处理每个项目,但目前它每页只接收一个项目。

如果我需要包含更多代码或说明,请告诉我。谢谢!

def parse_item(self,response):  
    hxs = HtmlXPathSelector(response)
    prices = hxs.select("//div[contains(@class, 'item')]/script/text()").extract()
    for prices in prices:
        item = WalmartSampleItem()
        ...
        yield items

您应该在 for 循环中yield单个item,而不是items

for prices in prices:
    item = WalmartSampleItem()
    ...
    yield item

最新更新