Python Xpath如何在值为扩展字符时检查标题值
这是我想要找到的HTMLPython 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[
<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="»"]'
有关参考信息,请参阅完整的图表
如果它不起作用,您可以选择,另外,您可以看到这一点,希望这对您有所帮助。首先,您的路径不正确,因为您使用了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="»"]'
response.xpath(u'//a[./text()="\xbb"]')