几天以来,Yahoo Finance不再部分支持Internet Explorer 11,所以我的webscraping宏不再起作用,因为在IE11中不再可见用于检索csv文件的适当链接。但是如果我使用其他浏览器检查html源代码,它们仍然存在。
我现在要做的是使用http请求来获取数据,但是一旦发送了请求,就会返回错误而不是csv文件。我想收到错误消息是因为我没有设置Cookie。我在这里找到了有关该主题的几篇文章,但是我不了解代码,无论如何我对Cookie的工作方式并不十分熟悉。我了解到cookie是在Http请求离开之前设置的,但我不确定该怎么做。
因此,我要确保的第一件事是是否可以通过一个http请求同时执行这两项操作,设置cookie并检索csv文件。
那是我写的代码:
Sub HttpRequest()
' Create Http Request
Dim xml As Object
Set xml = CreateObject("MSXML2.ServerXMLHTTP.6.0")
xml.Open "Get", "https://query1.finance.yahoo.com/v7/finance/download/DAI.DE?period1=1403474400& _
period2=1561240800&interval=1d&events=div&crumb=43WnmWAcccz", False
xml.send
' save as textfile
Dim fs, a
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("E:\daimler.txt", True)
a.WriteLine (xml.responseText)
a.Close
End Sub
这是我得到的错误:
{ “财务”:{ “错误”:{ “ code”:“未经授权”, “ description”:“无效的cookie” } }
如果有人可以帮助我解决这个问题,我将感到非常高兴。
问候, 马克