gpt4 book ai didi

html - 如何从亚马逊拉取产品的图片和标题?

转载 作者:搜寻专家 更新时间:2023-10-31 23:15:54 24 4
gpt4 key购买 nike

我正在尝试根据亚马逊的唯一产品代码制作一个产品列表。

例如:https://www.amazon.in/gp/product/B00F2GPN36

其中 B00F2GPN36 是唯一代码。

我想将产品的图像和标题提取到产品图像和产品名称列下的 Excel 列表中。

我已经尝试过 html.getElementsById("productTitle")html.getElementsByTagName

我也怀疑要描述哪种变量来存储上述信息,因为我已经尝试声明 Object 类型和 HtmlHtmlElement

我试图拉取 html 文档并将其用于数据搜索。

代码:

Enum READYSTATE
READYSTATE_UNINITIALIZED = 0
READYSTATE_LOADING = 1
READYSTATE_LOADED = 2
READYSTATE_INTERACTIVE = 3
READYSTATE_COMPLETE = 4
End Enum

Sub parsehtml()

Dim ie As InternetExplorer
Dim topics As Object
Dim html As HTMLDocument

Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "https://www.amazon.in/gp/product/B00F2GPN36"

Do While ie.READYSTATE <> READYSTATE_COMPLETE
Application.StatusBar = "Trying to go to Amazon.in...."
DoEvents
Loop

Application.StatusBar = ""
Set html = ie.document
Set topics = html.getElementsById("productTitle")
Sheets(1).Cells(1, 1).Value = topics.innerText
Set ie = Nothing

End Sub

我希望输出是单元格 A1 中的输出:
“Milton Thermosteel Carafe Flask,2 升,银色”应该反射(reflect)出来(没有引号),同样我也想提取图像。

但总有一些错误,比如:
1. 运行时错误“13”:
当我使用“Dim topics As HTMLHtmlElement”时类型不匹配
2. 运行时错误“438”:
对象不支持此属性或方法

注意:我从工具 > 引用 添加了引用,即所需的库。

最佳答案

vba 中没有 html.getElementsById("productTitle") 这样的东西。 ID 始终是唯一的,因此它应该是 html.getElementById("productTitle")。运行以下脚本来获取它们:

Sub ParseHtml()
Dim IE As New InternetExplorer, elem As Object
Dim Html As HTMLDocument, imgs As Object

With IE
.Visible = False
.navigate "https://www.amazon.in/gp/product/B00F2GPN36"
While .Busy Or .readyState < 4: DoEvents: Wend
Set Html = .document
End With

Set elem = Html.getElementById("productTitle")
Set imgs = Html.getElementById("landingImage")

Sheets(1).Cells(1, 1) = elem.innerText
Sheets(1).Cells(1, 1).Offset(0, 1) = imgs.getAttribute("data-old-hires")
End Sub

关于html - 如何从亚马逊拉取产品的图片和标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56415063/

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