【发布时间】:2021-04-13 13:00:22
【问题描述】:
我想将 yahoo Finance 中选项选项卡中的数据导入我的谷歌表格。就是这个表: Picture with the table I want to import 首先,您可以看到一个带有不同日期的框,当您更改 URL 更改的日期时。 URL 之间的区别在于,您需要对前面的数字 604800 求和,然后才能得到正确的 URL。 好吧,如果您使用 Excel,您可以毫无问题地下载数据(在表 3 中是我想要的数据),但是每次日期更改时您都需要手动更改网站。 所以我在考虑使用谷歌表的 ImportXML 或 ImportHTML。例如,如果您在主页中使用:https://finance.yahoo.com/quote/VZ?p=VZ 这个公式:=importXML("https://finance.yahoo.com/quote/VZ?p=VZ";"//[@id='quote-header-info']/div[3]/ div1/div/span1") 您将在那一刻获得股票的价值,但如果您更改其中一个选项的网站网址:=importXML("https://finance.yahoo.com/quote/VZ/options?date=1618531200&p=VZ ";"//[@id='quote-header-info']/div[3]/div1/div/span1") 你得到了一个 NA 值......即使该值存在并且网站的 HTML 代码是相同的......这对我来说没有意义。
所以我不知道该怎么做才能从选项卡“选项”中下载数据,这令人沮丧,因为在 Excel 中获取数据确实“简单”。
有什么建议吗?
【问题讨论】:
-
在我的情况下,您提供的两个公式都导致
#N/A。能否提供一个样本表,其中第一个公式用于成功导入数据? -
嗨,在这里找到我尝试过的谷歌表 + 其他选项:docs.google.com/spreadsheets/d/… 谢谢!
-
顺便说一下,请注意,在我的公式中,我使用了 ;在参数之间分开,也许你已经配置了,这就是为什么给出一些错误
-
我认为使用
IMPORTXML无法从该URL 检索到任何数据,因为无论xpath_query设置什么,即使检索根节点(/),也会导致Resource at url not found。也许该网站正在阻止来自此来源的请求(请参阅this related question)。因此,我认为下面提供的解决方法是您的最佳选择。 -
这就是我所相信的lamblichus 谢谢
标签: web-scraping google-sheets yahoo-finance