vba xmlhttp 抓取网页(我需要从价格比较网站(2015年03月23日) )

优采云 发布时间: 2021-11-21 21:06

  vba 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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线