【发布时间】:2021-08-05 17:36:18
【问题描述】:
我一直在使用以下 Excel VBA 宏从网站带回数据。直到几天前该网站停止支持 IE 时,它才能正常工作。当然宏现在失败了,因为网页上没有数据可以带回 Excel,有没有办法拥有“获取方法”(MSXML2.XMLHTTP)
这是我的代码
Public Sub GGGG()
Dim MSX As Object
Dim HTML As HTMLDocument
Dim URL As String
Dim UrlResponse As String
Dim N As Long
Dim sht1, sht2 As Worksheet
' On Error Resume Next
Set MSX = CreateObject("MSXML2.XMLHTTP")
Set HTML = New HTMLDocument
URL = "https://www.justdial.com/Agra/Yogi-General-Store-Opp-Eclave-Satiudum-Sadar-Bazaar/0562P5612-5612-120207212812-H5I2_BZDET"
With MSX
.Open "GET", URL, False
.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
.send
UrlResponse = StrConv(.responseBody, vbUnicode)
End With
ActiveCell.Offset(0, 1) = UrlResponse
End Sub
我得到类似的回应
错误 处理您的请求时出错。参考#97.ec8a2c31.1621136928.281f3ca8
请任何人都可以支持我在 IE 不支持时如何获取数据 我不是编码专家
【问题讨论】:
-
这是网站而不是浏览器。
-
我尝试了各种浏览器和非浏览器的方法都无济于事。
-
因为我认为这是我会拒绝的网站。我尝试了不同的语言 - 结果相同。我不知道它是否会影响所有用户或区域。我强烈怀疑是这个网站。
-
尝试通过主页上的搜索导航到该页面。
-
对我来说正确的 url 是使用
https://www.justdial.com/Agra/Yogi-General-Store-Sadar-Bazaar/0562P5612-5612-120207212812-H5I2_BZDET这在除 IE 之外的其他浏览器中都可以正常工作。
标签: excel vba web-scraping xmlhttprequest