html - 导入错误:“未找到 URL 的资源”仅适用于某些特定股票
问题描述
我正在谷歌表中创建股息跟踪表。我正在使用以下公式,因为我想使用来自 yahoo Finance 的一些股息数据
=SPLIT(INDEX(IMPORTHTML(concatenate("https://finance.yahoo.com/quote/";B8);"table";2);6;2);" ")
B8 指的是来自雅虎财经的股票代码
它适用于所有美国股票(例如:“T”和“JNJ”)和 1 只欧盟股票(“VOW3.DE”)。对于所有其他欧盟股票(例如:“SIE.DE”),它不起作用。我正在使用相同的公式 =SPLIT(INDEX(IMPORTHTML(concatenate("https://finance.yahoo.com/quote/";B5);"table";2);6;2);" ")
B5 指 SIE.DE
我收到以下错误消息:
“#N/A”:找不到 url 的错误资源
奇怪,因为它适用于 VOW3.DE 股票代码(大众汽车)
解决方案
这个网站现在是由 javascript 在客户端构建的,而不是在服务器端。然后你不能通过importxml检索信息,importhtml也不能。希望该页面包含一个名为root.App.main
您可以解析和检索数据的大 json:
var url='https://finance.yahoo.com/quote/' + code
var source = UrlFetchApp.fetch(url).getContentText()
var jsonString = source.match(/(?<=root.App.main = ).*(?=}}}})/g) + '}}}}'
var data = JSON.parse(jsonString)
例如https://docs.google.com/spreadsheets/d/1sTA71PhpxI_QdGKXVAtb0Rc3cmvPLgzvXKXXTmiec7k/copy
推荐阅读
- javascript - 在 Tampermonkey/Greasemonkey 中使用 Javascript 在 Facebook Messenger 网页版上禁用 Enter 提交文本
- swift - 如何在我的视图控制器上检测跨多个视图的触摸事件?
- python - 为什么它显示错误的数字?
- javascript - Javascript 类方法响应“不是函数”
- python - 蟒蛇硒。并行 if 循环
- hadoop - 如何计算 MapReduce 作业需要多少个映射器
- bash - 努力归档来自父目录和子目录的日志文件
- javascript - 反应:OnClick 无法设置未定义错误反应的属性“长度”
- python - 如何使用 matplotlib 解决 TypeError 异常?
- csv - JMeter 中 CSV 数据集配置的替代方法是什么?