2017-06-25 43 views
0

我想創建一個像彭博的啓動板那樣的小型Excel表,以監視實時股票市場價格。到目前爲止,在所有可用的免費數據源中,我只發現Google財務爲我需要的交易所列表提供了實時價格。 Google財務的問題是他們已經關閉了他們的財務API。我正在尋找一種方法來幫助我以編程方式檢索我在下面的圖表中圈出的實際價格,以便在我的Excel中實時更新。抓取實時谷歌財務價格

enter image description here

我一直在尋找周圍,無濟於事截至目前。我在這裏閱讀了一些帖子: How does Google Finance update stock prices?但答案中提出的方法指向檢索圖表中數據的時間序列,而不是我需要的實時更新價格部分。我一直在檢查鉻的檢查網頁的網絡通信,並沒有發現任何請求,返回我需要的實時價格的一部分。任何幫助是極大的讚賞。一些示例代碼(可以使用VBA以外的其他語言)將會非常有益。感謝大家 !

回答

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'數據元素。 設置鏈接= ie.document.getElementsByTagName( 「TR」) 行數= 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( 「完成!!」)

結束子

我會離開它你可以找到其他相同的技術。例如,R和Prthon可以做同樣的事情,但是這些腳本與做這類工作的VBA腳本有點不同。