我正在尝试在此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