vba xmlhttp 抓取网页(我需要从价格比较网站(2015年03月23日) )
优采云 发布时间: 2021-11-21 21:06vba xmlhttp 抓取网页(我需要从价格比较网站(2015年03月23日)
)
我需要比较 网站 的价格(产品链接:.toppreise.ch/prod_488002.html)。我不能挠。查看我要捕获的图像中突出显示的价格:
请帮助我如何抓取此页面。
PS:很多国家/地区都无法访问toppreise.ch,请使用VPN
我正在使用以下代码:
Private Sub SiteInfo_Click()
Dim strhtml
On Error Resume Next
ThisWorkbook.Sheets("Data Mining").Activate
Sheets("Data Mining").Range("B1").Select
Set xmlHttp = Nothing
Set xmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
StrUrl = ""
StrUrl = Sheets("Data Mining").Range("B1").Value
xmlHttp.Open "GET", StrUrl, False
xmlHttp.Send
strhtml =xmlHttp.responseText
END Sub
当我运行上面的代码时,我只在下面的响应文本下得到一个提示。它没有给出整个页面。(您可以通过产品链接查看源代码,或者在这里查看 %20code.txt?dl =0)
...
解决方案
此代码有效,谢谢 SIM
Sub Get_Price()
Dim HTTP As New XMLHTTP60, HTML As New HTMLDocument
Dim post As HTMLDivElement
With HTTP
.Open "GET", "https://www.toppreise.ch/index.php?a=488002", False
.send
HTML.body.innerHTML = .responseText
End With
For Each post In HTML.getElementsByClassName("altLinesOdd")
With post.getElementsByTagName("a")
If .Length Then R = R + 1: Cells(R, 1) = .Item(0).innerText
End With
With post.getElementsByClassName("spaceVert nobreak")
If .Length Then Cells(R, 2) = .Item(0).innerText
End With
Next post
End Sub