首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >谷歌工作表中ImportXML的返回值与雅虎财经上的实际值不同

谷歌工作表中ImportXML的返回值与雅虎财经上的实际值不同
EN

Stack Overflow用户
提问于 2021-01-10 16:16:44
回答 1查看 278关注 0票数 0

我试图使用ImportXML将期权价格从雅虎财经导入到我的谷歌工作表中,但在谷歌工作表中收到的一些价格的实际值与我在雅虎财经网站上看到的非常不同。我甚至尝试过ImportHTML,结果都是一样的。

Google Sheet中使用的公式:

代码语言:javascript
运行
复制
=TRANSPOSE(IMPORTXML( "https://finance.yahoo.com/quote/KL220121C00045000?p=KL220121C00045000" ,"//tr"))

以下是Google Sheet中的结果(所有红色单元格都是不同的值):

雅虎财经页面上的实际值:

我完全不知道为什么会发生这种情况,以及如何解决它。

EN

回答 1

Stack Overflow用户

发布于 2021-01-27 15:48:00

@Tanaike的ImportXML not producing correct values链接回答了如何使用应用程序脚本解决这个问题。

为了回答“为什么”的问题,我相信雅虎财经已经实现了某种user agent detection,这样来自谷歌电子表格的请求,或者更具体地说,用户代理Mozilla/5.0 (compatible; GoogleDocs; apps-spreadsheets; +http://docs.google.com)的请求将被服务于不同的(我相信更老的)版本的数据。

当我在浏览器中访问链接https://finance.yahoo.com/quote/KL220121C00045000?p=KL220121C00045000时,它当前显示

代码语言:javascript
运行
复制
As of 3:17PM EST. Market open

但是当我用change my user agent来模仿Google sheets时,我得到了

代码语言:javascript
运行
复制
As of 10:43AM EST. Market open.

这是与IMPORTXML相同的结果。

我猜他们这样做要么是为了减少从自动电子表格中提取数据,要么是为了阻止人们使用Google Sheets来抓取他们的网站。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65651295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档