场景:包含多个项目的页面,每个项目包含标题,描述,图像。当其中一个项目缺少标题时会发生什么? scrapy如何处理它?似乎scrapy盲目选择所有标题// div [id ='content'] / ul / li / div [id ='title'] / text(),
预期输出是该行将缺少标题。但我担心,因为它盲目地选择页面上的所有标题而不考虑项目上下文。如果第5项缺少标题,是否会错误地使用第6项的标题?
title1 | description | image
.
.
title4 | description | image
title6 | description | image <--- it's supposed to be missing the title.
| description | image
scrapy有办法解决这个问题吗?
我想到的解决方法是查看父项元素,然后查看该项。如果缺少某些东西,请不要显示它。
答案 0 :(得分:2)
有多种方法可以处理这种情况
1)您可以实现可以跳过不需要的项目的管道
2)您可以在提取部分中添加检查以仅产生/返回所需的项目
您需要了解Scrapy是一个高级爬行框架,它还为数据提取提供了建立支持,您可以使用任何库进行提取。