html - 运行代码后有时宏无法设置 htmldiv
问题描述
我有这段代码可以从亚马逊抓取产品图片 URL。此代码最多可用于大约 500 个 URL 抓取,但在那之后,它会停止工作。原因是htmldiv
由于某种原因未设置。我需要等待大约 1 小时才能再次开始工作,或者在重新启动 PC 后一段时间才能开始工作。
Rng 是我从中抓取产品图片 url 的 url 列表(亚马逊)
VBA代码:
Sub scrapeimgs2()
'On Error Resume Next
Dim XMLRequest As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim HTMLDiv As MSHTML.IHTMLElement
Dim cel, rng As Range
Set rng = Sheets("sheet1").Range("i2:i1312")
For Each cel In rng
Application.StatusBar = cel.Row
XMLRequest.Open "GET", cel, False
XMLRequest.send
If XMLRequest.Status <> 200 Then
ThisWorkbook.Sheets("sheet1").Range("O" & cel.Row) = "Err"
Else
HTMLDoc.body.innerHTML = XMLRequest.responseText
Set HTMLDiv = HTMLDoc.getElementById("landingImage") '<this line is set to nothing after scrapping approx 500urls>
ThisWorkbook.Sheets("sheet1").Range("O" & cel.Row) = HTMLDiv.getAttribute("src", 0)
End If
If cel.Row Mod 50 = 0 Then
ThisWorkbook.Save
End If
HTMLDoc.Close
Set HTMLDiv = Nothing
Next cel
ThisWorkbook.Save
End Sub
解决方案
推荐阅读
- c# - 使用包含双引号的字符串(无需手动转义)的任何方式
- html - 如何为各种设备类型编写html页面代码?
- java - 使用 Java 将元素添加到 MongoDB 文档中的列表
- c# - 根据 asp.net mvc 中的用户输入动态选择列
- image - React Native Image 标签有重试功能吗?
- c++ - 返回 std::shared_ptr
来自 std::shared_ptr 的向量 - php - 如何在 PHP 登录页面中注入 SQL?
- gnu-make - GNU Make:如果重命名头文件,则自动先决条件不起作用
- c# - C#:检索 Json 数据结构,即使其中没有数据
- reactjs - React-map-gl(GeoJSON 地图示例):地图中的数据未通过控制面板更新(年份滑块)