Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA无法刮取html表_Html_Excel_Vba_Screen Scraping - Fatal编程技术网

VBA无法刮取html表

VBA无法刮取html表,html,excel,vba,screen-scraping,Html,Excel,Vba,Screen Scraping,我对编程非常陌生,我一直在尝试从以下网站将html表格刮到excel: 我知道我想要的表格是:class=“hourly forecast table”。但是,我得到一个运行时错误“91”-对象变量或With block变量未设置在For循环的第一行。我们将非常感谢您的帮助。这是我的密码: Sub Button5_Click() Dim html As MSHTML.HTMLDocument, hTable As Object, ws As Worksheet Set ws

我对编程非常陌生,我一直在尝试从以下网站将html表格刮到excel:

我知道我想要的表格是:class=“hourly forecast table”。但是,我得到一个运行时错误“91”-对象变量或With block变量未设置在For循环的第一行。我们将非常感谢您的帮助。这是我的密码:

Sub Button5_Click()

    Dim html As MSHTML.HTMLDocument, hTable As Object, ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet2")
    Set html = New MSHTML.HTMLDocument
    
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "https://www.wunderground.com/hourly/ZBAA/date/2021-4-21", False
        .send
        html.body.innerHTML = .responseText
    End With
    Set hTable = html.querySelector(".hourly-forecast-table")
    
    Dim td As Object
    Dim tr As Object
    Dim th As Object
    Dim r As Long
    Dim c As Long
    
    For Each tr In hTable.getElementsByTagName("tr")
        r = r + 1: c = 1
        For Each th In tr.getElementsByTagName("th")
            ws.Cells(r, c) = th.innerText
            c = c + 1
        Next
        For Each td In tr.getElementsByTagName("td")
            ws.Cells(r, c) = td.innerText
            c = c + 1
        Next
    Next
    
    
End Sub