首页 > 解决方案 > VBA XMLHTTP 请求。启用以 HTML 格式获取数据以解析数据

问题描述

我需要在电子表格中重新创建下表。基本上是美国公司下周的收益。可以使用“过滤器”按钮选择国家/地区。

在此处输入图像描述

虽然我能够获得表格的主体,但数据的传入方式是单个字符串,这使得解析变得更加复杂。我无法按标签、类或任何其他选项进行过滤。

这是我整理的剧本。

Sub EarningsNextWeek()

    Dim XMLReq As New MSXML2.XMLHTTP60
    Dim HTMLDoc As New MSHTML.HTMLDocument
    Dim postdata$, URL$

    URL = "https://www.investing.com/earnings-calendar/Service/getCalendarFilteredData"

    XMLReq.Open "POST", URL, False
    XMLReq.setRequestHeader "Accept", "*/*"
    XMLReq.setRequestHeader "Accept-Language", "en-US,en;q=0.5"
    XMLReq.setRequestHeader "Accept-Encoding", "gzip, deflate, br"
    XMLReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    XMLReq.setRequestHeader "X-Requested-With", "XMLHttpRequest"
    
    postdata = "country[]=5&currentTab=nextWeek&limit_from=0"
    
    XMLReq.send postdata
    
    If XMLReq.Status <> 200 Then
        MsgBox "problem" & vbNewLine & XMLReq.Status & "- " & XMLReq.statusText
        Exit Sub
    End If
    
    HTMLDoc.body.innerHTML = XMLReq.responseText

End Sub

这是我得到的字符串:

在此处输入图像描述

难道我做错了什么?有没有人找到一个聪明的方法呢?提前致谢

标签: vbaxmlhttprequest

解决方案


推荐阅读