gpt4 book ai didi

vba - 带有哈希字符的 XMLHTTP

转载 作者:行者123 更新时间:2023-12-03 20:10:22 26 4
gpt4 key购买 nike



我正在尝试使用 xmlhttp 和 VBA 抓取网站。

Url 有一个井号 (#) 符号,被 VBA 误解了......

这与此处解释的问题相同: Error in XMLHTTP Get request with Special character in URL
代码如下:

Sub webscraping()
Dim x As String
Dim req As MSXML2.XMLHTTP60
Dim doc As HTMLDocument

x = "https://search.gleif.org/#/search/"

Set req = New MSXML2.XMLHTTP60
With req
.Open "GET", x, False
.send
If .Status <> 200 Then
MsgBox "Http Request Error"
Exit Sub
End If
Set doc = New MSHTML.HTMLDocument
doc.body.innerHTML = .responseText
End With
End Sub

提前致谢

最佳答案

您可以通过使用您的搜索词直接调用 API 来避免这种情况,如下所示。我正在使用 json parser处理 json 响应。在项目链接处添加 .bas 后,还转到 VBE > 工具 > 引用 > 添加对 Microsoft Scripting Runtime 的引用。

请注意,您可以在此处更改查询字符串参数:"&page%5Bnumber%5D=1&page%5Bsize%5D=15"。目前 page=1,每页记录数为 15。

VBA:

Option Explicit
Public Sub webscraping()
Dim url As String
Dim req As MSXML2.XMLHTTP60
Dim doc As HTMLDocument
Dim json As Object
Const TERM = "banana corp."

url = "https://api.gleif.org/api/v1/lei-records?filter%5Bfulltext%5D=" & Application.EncodeURL(TERM) & "&page%5Bnumber%5D=1&page%5Bsize%5D=15"

Set req = New MSXML2.XMLHTTP60
With req
.Open "GET", url, False
.send
If .Status <> 200 Then
MsgBox "Http Request Error"
Exit Sub
End If
Set json = JsonConverter.ParseJson(.responseText)
End With
Stop
'Do something with json
End Sub

返回了很多信息,所以这里只是其中的摘录:

在此处研究 API:

https://www.gleif.org/en/lei-data/gleif-lei-look-up-api/access-the-api

关于vba - 带有哈希字符的 XMLHTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55335501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com