在使用scrapy
时,我有一个xpath
响应,它返回一个列表。我想检查列表的每一行是否包含字符串。所以结果应该是一个布尔值列表
使用scrapy
和response.xpath
是如何做到的
这是我的解决方法: 因为scrapy使用的是XPath1,所以我必须构建一个变通方法,因为在XPath1中,每个节点都是唯一的。因此,XPath1只能返回每个标题一次。我就是这么解决这个问题的:
问题:
标题1
文本1
文本2
文本3
标题2
文本4
文本5
文本6
结果:
正确
正确
我想要得到这样的东西:
正确
正确
错误
正确
正确
错误
因此,我没有使用Xpath选择器来检索布尔值,而是使用scrapy来检索整页源代码。然后,我根据需要使用标准的python字符串操作和循环来迭代这个字符串。主要问题是XPath1只能返回每个节点一次
如果要检查每个列表项是否包含字符串,则可以使用另一种方法
如果您考虑下面的示例html,请找出列表项文本中没有
fruit
的列表项<html> <div class="navbar navbar-blue"> <select> <option> Apple fruit</option> <option> fruit kiwi </option> <option> this should not select</option> <option> citrus fruit</option> </select> </div> </html>
;您可以使用下面的xpath获取不包含字符串的列表项
相关问题 更多 >
编程相关推荐