用excel宏实现抓取A列sku在得物的价格
时间: 2024-03-18 18:42:55 浏览: 92
实现这个功能,可以使用VBA编写Excel宏来实现。下面是一个简单的实现过程:
1. 打开Excel,打开要操作的工作簿。
2. 按下Alt + F11,打开VBA编辑器。
3. 在VBA编辑器中,插入一个新的模块。
4. 在模块中编写VBA代码,实现抓取A列sku在得物的价格的功能。
5. 将编写好的VBA代码保存,并在Excel中运行宏。
下面是一个示例的VBA代码:
```VBA
Sub getPrice()
Dim sku As String
Dim url As String
Dim http As New WinHttp.WinHttpRequest
Dim html As New HTMLDocument
Dim price As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
sku = Cells(i, 1).Value
url = "https://detail.dewu.com/item?id=" & sku
http.Open "GET", url, False
http.Send
html.body.innerHTML = http.responseText
price = html.getElementsByClassName("price-num")(0).innerText
Cells(i, 2).Value = price
Next i
End Sub
```
这个代码中,我们首先声明了一些变量,用于存储SKU、URL、HTTP请求、HTML文档和价格等信息。然后,我们使用一个For循环,遍历A列中的每个SKU,分别抓取得物上的价格,并将价格写入B列中。
这个示例中使用了WinHttpRequest和HTMLDocument两个对象来实现HTTP请求和HTML解析的功能。在使用这些对象之前,需要先添加对Microsoft WinHTTP Services和Microsoft HTML Object Library的引用。具体操作可以参考如下步骤:
1. 在VBA编辑器中,点击菜单栏的工具 -> 引用。
2. 在弹出的对话框中,勾选Microsoft WinHTTP Services和Microsoft HTML Object Library。
3. 点击确定,保存代码,然后关闭VBA编辑器。
完成以上操作后,就可以在Excel中运行这个宏,抓取A列sku在得物的价格并写入B列中了。
阅读全文