既然旧的 API 已经正式失效,我已经尝试让一些代码适用于新的雅虎财务历史数据。代码如下:
Private Function DownloadData(ByVal StockSymbol As String)
Try
'https://query1.finance.yahoo.com/v7/finance/download/CPG.TO?period1=1492824351&period2=1495416351&interval=1d&events=history&crumb=M3Ig5MvcK77
Dim Period1 As Integer = (New DateTime(2007, 1, 1, 0, 0, 0) - New DateTime(1980, 1, 1, 0, 0, 0)).TotalSeconds
Dim Period2 As Integer = (DateTime.UtcNow - New DateTime(1980, 1, 1, 0, 0, 0)).TotalSeconds
Dim csvData As String = String.Empty
Using Web As New WebClient
Dim strm As Stream = Web.OpenRead("https://finance.yahoo.com/quote/" & StockSymbol & "/history?p=" & StockSymbol)
Dim Crumb As String = ScrapeCrumb(strm)
Dim s As String = "https://query1.finance.yahoo.com/v7/finance/download/" …Run Code Online (Sandbox Code Playgroud)