python - 刮文字;我不确定 Google Chrome Inspect 元素是否给了我正确的 XPath。我在哪里可以获得正确的路径?
问题描述
在这里,我想抓取一个名为“fundsnetservices.com”的网站。具体来说,我想抓取每个程序下面的文本——它是关于一个段落的文本。
使用 Google Chrome Inspect 方法,我能够拉出这个......
'/html/body/div[3]/div/div/div[1]/div/p[2]/text()'
...作为xpath。但是,每次我打印出文本时,它都会返回 [ ]。为什么会这样?
response = urllib.request.urlopen('http://www.fundsnetservices.com/searchresult/30/International-Grants-&-Funders/18.html')
tree = etree.HTML(response.read().decode('utf-16'))
text = tree.xpath('/html/body/div[3]/div/div/div[1]/div/p[2]/text()')
解决方案
您的代码似乎返回空白节点。使用以下命令更正您的 XPath:
//p[@class="tdclass"]/text()[3]
推荐阅读
- c# - 我可以让我的 UWP 应用在用户登录时自动运行(例如,通过将其添加到注册表)吗?
- javascript - 反应 useEffect 比较对象
- html - 边框设计上的 Divs 与固定背景冲突
- c# - EF Core 2.1.1 带有构造函数调用的种子方法
- groovy - 如何在 Groovy 方法中使用可选的命名参数
- python - conda环境下构建github源码包
- python - 有没有办法使用 Twilio python 查找 api 打印输出并使用找到的调用者名称作为变量?
- javascript - Hugo:Javascript 命令在重新加载页面后才起作用
- arrays - Julia 元组数组
- angularjs - 无法使用 $postLink 向元素添加属性 - AngularJS