VBA无法刮取html表
我对编程非常陌生,我一直在尝试从以下网站将html表格刮到excel: 我知道我想要的表格是:class=“hourly forecast table”。但是,我得到一个运行时错误“91”-对象变量或With block变量未设置在For循环的第一行。我们将非常感谢您的帮助。这是我的密码: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
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