Vba 网络爬虫

Vba 网络爬虫,vba,web-scraping,web-crawler,Vba,Web Scraping,Web Crawler,我想从网站上获取当前天气(图像中为88)信息 我使用了以下代码 Sub Get_Price() Dim HTTP As New XMLHTTP60, HTML As New HTMLDocument Dim post As HTMLDivElement With HTTP .Open "GET", "https://www.accuweather.com/en/in/india-weather", False .send HTML.body.innerHTML = .responseTex

我想从网站上获取当前天气(图像中为88)信息

我使用了以下代码

Sub Get_Price()
Dim HTTP As New XMLHTTP60, HTML As New HTMLDocument
Dim post As HTMLDivElement

With HTTP
.Open "GET", "https://www.accuweather.com/en/in/india-weather", False
.send
HTML.body.innerHTML = .responseText
MsgBox .responseText
End With

For Each post In HTML.getElementsByClassName("panel-list cityforecast")
With post.getElementsByTagName("large-temp")
 If .Length Then R = R + 1: Cells(R, 1) = .Item(0).innerText
End With
Next post
End Sub

请帮助,提前感谢

尝试以下方法从该页面获取您想要解析的信息。我在脚本中使用了,使其简洁但更有效。试试看

Sub GetWeatherInfo()
    Dim HTTP As New XMLHTTP60, HTML As New HTMLDocument
    Dim post As Object

    With HTTP
        .Open "GET", "https://www.accuweather.com/en/in/bengaluru/204108/weather-forecast/204108", False
        .send
        HTML.body.innerHTML = .responseText
    End With

    Set post = HTML.querySelectorAll("#feed-tabs .large-temp")(0)
    MsgBox post.innerText
End Sub
要添加到库中的引用:

Microsoft XML, V6.0 ''or the version you have
Microsoft HTML Object Library

顺便说一句,在运行脚本之前,请确保我使用的url是正确的。

large temp
似乎是类,而不是标记名。AccuWeather很可能禁止对其网站进行爬网。获取API访问令牌并使用它们的API。(这也会容易得多)。谢谢@Tomalak有没有可能使用脚本爬行?为什么你会说“谢谢”,然后直接再次问你原来的问题?使用API。不清楚您要从该页面中获取哪部分信息。你能显示你想要的输出吗。顺便说一句,你上面提供的链接和你在脚本中使用的链接是不同的。你能帮助我如何获得这些知识吗?关于什么的知识?如果您正在谈论的是about
.queySelectorAll()
,那么我已经提供了链接。然而,如果是关于网络垃圾,那么可能会有所帮助。谢谢,我会查的。非常感谢你的帮助。谢谢你帮我从下面的链接中删除表格/创建一篇描述你当前需求的新帖子,并在此处删除一个链接。我来看看。谢谢