痒痒的。python将从Xpath提取的数据与字符串进行比较?
我正在使用scrapy从网页上抓取一些年份值,并试图检查该值是否为2015年,但我似乎无法正确地将该值与字符串“2015”进行比较 这是我的Python代码 ` 即使提取的值为2015,它仍然打印no痒痒的。python将从Xpath提取的数据与字符串进行比较?,python,xpath,scrapy,scrapy-spider,Python,Xpath,Scrapy,Scrapy Spider,我正在使用scrapy从网页上抓取一些年份值,并试图检查该值是否为2015年,但我似乎无法正确地将该值与字符串“2015”进行比较 这是我的Python代码 ` 即使提取的值为2015,它仍然打印no 非常感谢您的帮助,谢谢我猜您将从extract()调用中得到一个列表,而不是字符串。如果您只需要一个字符串,请尝试调用extract\u first(),并将其与您的'2015'字符串进行比较 资料来源: 要实际提取文本数据,必须调用选择器 .extract()方法,如下所示: >>&
非常感谢您的帮助,谢谢我猜您将从
extract()
调用中得到一个列表,而不是字符串。如果您只需要一个字符串,请尝试调用extract\u first()
,并将其与您的'2015'
字符串进行比较
资料来源:
要实际提取文本数据,必须调用选择器
.extract()方法,如下所示:
>>> response.xpath('//title/text()').extract()
[u'Example website']
如果只想提取第一个匹配的元素,可以调用
selector.extract_first()
这是因为当您在选择器中使用
.xpath
或.css
时,您得到的是一个选择器列表
,您可以想象,它是一个列表
而不是字符串
。可能此列表中只有一个元素,因此要进行比较,可以使用:
i.xpath('./******/******/text()').extract()[0]
或
或者更好
i.xpath('./******/******/text()').extract_first()
你把输出打印出来看看你得到了什么吗?我认为extract返回一个结果列表。
i.xpath('./******/******/text()').extract()[0]
''.join(i.xpath('./******/******/text()').extract())
i.xpath('./******/******/text()').extract_first()