我想创建一个小型excel表,有点像Bloomberg的启动板,用于监控实时股票市场价格。到目前为止,在所有可用的免费数据源中,我只发现Google财经提供了我需要的交易清单的实时价格。谷歌财务的问题是他们已经关闭了他们的财务API。我正在寻找一种方法来帮助我以编程方式检索我在下面的图表中圈出的实际价格,以便在我的Excel中实时更新。
到目前为止,我一直在寻找并无济于事。我在这里读了一些帖子: How does Google Finance update stock prices?但答案中建议的方法指的是检索图表中的时间序列数据,而不是我需要的实时更新价格部分。我一直在检查Chrome检查网页的网络通信,并没有找到任何返回我需要的实时价格部分的请求。任何帮助是极大的赞赏。一些示例代码(可以是除VBA以外的其他语言)将是非常有益的。感谢大家 !
答案 0 :(得分:0)
有很多方法可以做到这一点:VBA,VB,C#R,Python等。下面是一种从雅虎财经下载统计数据的方法。
Sub DownloadData()
Set ie = CreateObject("InternetExplorer.application")
With ie
.Visible = True
.navigate "https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL"
' Wait for the page to fully load; you can't do anything if the page is not fully loaded
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
'设置对将要下载的数据元素的引用。我们可以下载'td'数据元素或'tr'数据元素。该网站恰好使用'tr'数据元素。 设置Links = ie.document.getElementsByTagName(“tr”) RowCount = 1
' Scrape out the innertext of each 'tr' element.
With Sheets("DataSheet")
For Each lnk In Links
.Range("A" & RowCount) = lnk.innerText
RowCount = RowCount + 1
Next
End With
结束 MsgBox(“完成!!”)
End Sub
我将由您来找到其他同样的技术。例如,R和Prthon可以做同样的事情,但是,这些脚本与执行此类工作的VBA脚本有点不同。