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 - Fatal编程技术网

Python Xpath如何在值为扩展字符时检查标题值

Python Xpath如何在值为扩展字符时检查标题值,python,xpath,scrapy,Python,Xpath,Scrapy,这是我想要找到的HTML <a href="/audio-books/type/computer/page/2/">»</a> 我试过: response.xpath('//div[@class="wp-pagenavi"]/a[@title="»"]' ) 及 但它不起作用 如果值来自字符实体或扩展字符,是否有方法检查XPath中的值? 我试图找到林到下一页,以便我可以使用 response.xpath('//div[@class="wp-pagenavi"]/a[

这是我想要找到的HTML

<a href="/audio-books/type/computer/page/2/">»</a>
我试过:

response.xpath('//div[@class="wp-pagenavi"]/a[@title="»"]' )

但它不起作用

如果值来自字符实体或扩展字符,是否有方法检查XPath中的值?

我试图找到林到下一页,以便我可以使用

response.xpath('//div[@class="wp-pagenavi"]/a[@title="2"]' )

这很好。

我还没有尝试运行它,但是您应该使用十进制实体通过
XPath
查找扩展字符

对于
你应该使用
和#187,您的XPath应该是

div[@class="wp-pagenavi"]/a[@title="&#187;"]'
有关参考信息,请参阅完整的图表


如果它不起作用,您可以选择,另外,您可以看到这一点,希望这对您有所帮助。

首先,您的路径不正确,因为您使用了
title
属性进行匹配,这是不正确的,字符位于
text()内
而不是
title
。这个xpath应该可以工作:

response.xpath(u'//a[./text()="\xbb"]')

不起作用,我有一种感觉,这也取决于scrapy Framework中的Xpath实现,而不是您所要求的,到目前为止,不那么痛苦和更准确的选择器将使用
href
中的URI,而不是本质上寻找guillemet的表示问题;因此:
//a[contains(@href,/page/”)/@href
(假设您想要实际的
href
;省略
/@href
,仅获取目标
a
标记)首先,感谢您澄清,在这个问题中,应该匹配的是
文本()
,而不是
@title
。作为一种小小的迂腐,我们不需要用
/
来限定
text()
,因为使用数组括号意味着
a
。需要特别小心的是,如果将来他们用
或类似的方式将guillemet包装起来,可以说
a[string(.)=“\xbb”]
来回避步骤(空格问题除外,因为我这里有有限的字符:-)@eLRuLL谢谢。我甚至没有注意到这个HTML标签没有标题,问题是因为其他标签没有标题。
div[@class="wp-pagenavi"]/a[@title="&#187;"]'
response.xpath(u'//a[./text()="\xbb"]')