python - Xpath没有给出结果scrapy python
问题描述
我正在使用 xpath 来检索 PDF 链接
response.xpath('//a[@id="jr-pdf-sw"]/@href')
链接我正在使用此 xpath -> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7064742/
我的回复如下所示:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" class="jr-col-auto js jr js flexbox no-touch draganddrop csscolumns csstransforms csstransforms3d csstransitions boxflex jr-fs-12 no-animate">
<head>...</head>
<body>...</body>
我的 Xpath 位于 body 标签内。
谁能说出为什么这个 xpath 不起作用?是因为命名空间吗?
任何帮助表示赞赏!
解决方案
工作 XPath。经典形式:
//div[@class="format-menu"]//a[contains(.,"PDF")]/@href
如果命名空间是问题:
//*[local-name(.)='div'][@class='format-menu']//*[local-name(.)='a'][contains(.,'PDF')]/@href
推荐阅读
- php - 如何将我的 xampp locahost api 项目部署到在线虚拟主机服务器
- deep-learning - 给定一个神经网络和一个问题大小 N、2N、3N... 网络的空间复杂度将如何随问题大小扩展?
- python - 如何设置 Django 静态文件?
- typescript - gettext() 在量角器中总是返回空
- c++ - C++ 泛型方法给出“没有匹配的调用函数”错误
- c++ - 我用 Gstreamer MSVC 1.16.1 构建 opencv 3.4,现在 imread 和 VideoCapture 不起作用
- regex - 如何通过删除postgres中的中间部分来获取字符串
- python-3.x - 循环中打印位置导致的差异
- scala - Spark Scala 中的点积
- mysql - 如何在mysql中找到平均差异?