我正在尝试使用" 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
答案 0 :(得分:2)
您应该在for循环中yield
一个item
,而不是items
:
for prices in prices:
item = WalmartSampleItem()
...
yield item