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

时间:2014-04-18 20:44:25

标签: python scrapy

我正在尝试使用" warwaruk"描述的链接解析结构。在这个SO线程中: Following links, Scrapy web crawler framework

当只从每个页面抓取一个项目时,这非常有用。但是,当我尝试创建一个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

1 个答案:

答案 0 :(得分:2)

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

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