Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
痒痒的。python将从Xpath提取的数据与字符串进行比较?_Python_Xpath_Scrapy_Scrapy Spider - Fatal编程技术网

痒痒的。python将从Xpath提取的数据与字符串进行比较?

痒痒的。python将从Xpath提取的数据与字符串进行比较?,python,xpath,scrapy,scrapy-spider,Python,Xpath,Scrapy,Scrapy Spider,我正在使用scrapy从网页上抓取一些年份值,并试图检查该值是否为2015年,但我似乎无法正确地将该值与字符串“2015”进行比较 这是我的Python代码 ` 即使提取的值为2015,它仍然打印no 非常感谢您的帮助,谢谢我猜您将从extract()调用中得到一个列表,而不是字符串。如果您只需要一个字符串,请尝试调用extract\u first(),并将其与您的'2015'字符串进行比较 资料来源: 要实际提取文本数据,必须调用选择器 .extract()方法,如下所示: >>&

我正在使用scrapy从网页上抓取一些年份值,并试图检查该值是否为2015年,但我似乎无法正确地将该值与字符串“2015”进行比较

这是我的Python代码 `

即使提取的值为2015,它仍然打印no


非常感谢您的帮助,谢谢

我猜您将从
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()