gpt4 book ai didi

excel - 从列中的所有 URL 检索信息

转载 作者:行者123 更新时间:2023-12-04 22:28:19 25 4
gpt4 key购买 nike

我在下面有一个使用 xml 的代码。
它访问 J 列中的所有 URL,获取信息,然后将其粘贴到 K 列。

该代码似乎不起作用。

Sub GetInfo()
Dim Http As New XMLHTTP60, Html As New HTMLDocument
Dim lastrow As Long, i As Long
Dim sdd As String
Dim add As Variant
Dim url As Range

For Each url In Range("J2:J" & Range("J" & Rows.Count).End(xlUp).Row)
lastrow = Sheet1.Cells(Rows.Count, "J").End(xlUp).Row
For i = 2 To lastrow

With Http
.Open "GET", url, False
.send
Html.body.innerHTML = .responseText
End With
sdd = Html.querySelector("span[itemprop='price']").getAttribute("content")
Sheet1.Cells(i, "K") = sdd
Next i
Next
End
End Sub

宏现在可以运行了。我不明白为什么它突然运行。
但它仍然没有做它应该做的事情。
如果 J 列中有 10 个 URL,则宏将从第一个 URL 获取信息,然后将其放在 K 列的所有行中,而不是仅将其放在相应的行中。如果第一个 URL 的值是 80000,它将在所有 10 行上放置 80000。不仅如此,它还会移动到下一个 URL,然后将新信息放在 K 列中的所有行上,方法是替换它刚刚放在那里的内容。它会一直这样做,直到它一直通过第 10 个 URL。

最佳答案

你的问题是你没有索引到 K列正确。您有一个 For I对每个 URL 重复的循环。所以最后一个 URL 将填充所有 K列条目。也许是这样的:


i = 1
Columns("K").Clear
For Each URL In Range(Cells(2, "J"), Cells(Rows.Count, "J").End(xlUp))
With Http
.Open "GET", URL, False
.send
HTML.body.innerHTML = .responseText
End With

sdd = HTML.querySelector("span[itemprop='price']").getAttribute("content")
i = i + 1
Sheet1.Cells(i, "K") = sdd

Next URL
End Sub

哦,请确保您的 URL 格式完整:例如,它们以 http:// 开头或 https://

关于excel - 从列中的所有 URL 检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55568964/

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