xpath - 带有错误 xpath 的 IMPORTXML
问题描述
我正在 Yahoo Finance 网站上查找 EV / EBITDA 的数据,但 xPath 返回我无法获得 ID 的值:
https://finance.yahoo.com/quote/CARD3.SA/key-statistics?p=CARD3.SA
x路径:
// * [@ id = "Col1-0-KeyStatistics-Proxy"] / section / div [3] / div [1] / div [2] / div / div [1] / div [1] / table / tbody / tr [9] / td [4]
xpath“当前”和 03/31/2020 之间没有区别,除了完整的 xpath(一个是 4,另一个是 3):
当前的:
/ html / body / div [1] / div / div / div [1] / div / div [3] / div [1] / div / div [1] / section / div [3] / div [1 ] / div [2] / div / div [1] / div [1] / table / tbody / tr [9] / td [4]
2020 年 3 月 31 日:
/ html / body / div [1] / div / div / div [1] / div / div [3] / div [1] / div / div [1] / section / div [3] / div [1] / div [2] / div / div [1] / div [1] / table / tbody / tr [9] / td [3]
干杯!
解决方案
IMPORTXML
也IMPORTHTML
不能导入数据。您应该使用IMPORTFROMWEB插件来执行此操作(注意:请求数量受“免费”计划的限制):
您将需要以下 XPath :
对于标题:
//span[.="Current"]/ancestor::tr[1]//span[text()][count(./*)=0]
对于数据:
//span[.="Enterprise Value/EBITDA"]/../following-sibling::td
输出 :
C4 中使用的公式:
=TRANSPOSE(IMPORTFROMWEB(C1;C2:D2))
可能的替代方案:GoogleAppScript 直接从 Yahoo API 请求和加载 JSON 数据。
推荐阅读
- r - 由于地址限制而无法安装软件包,但有足够的可用内存(非零退出状态)
- android - 如何在改造中请求查询 JSON
- python - 如何从 gunicorn 的 pre_fork 挂钩访问我的应用程序?
- android - Dagger 2 将 Fragment 注入 Activity - 错误:[Dagger/MissingBinding]
- postman - 如何安排或自动化邮递员运行
- java - 检查 ImageView 中显示的图像是什么?
- linux - 获取 USB 块设备的标签
- sass - {N} 6.0 迁移:部分 .scss 文件现在单独编译
- dataframe - 从文件/rdd 读取数据时出现 Unicode 错误
- r - 通过模式从 R 中的数据框(或矩阵)中提取数据