如何使用Excel工作表中的网页抓取按标签名称获取标签值?

时间:2016-02-10 04:12:42

标签: excel excel-vba web-scraping vba

我每天都会对电子商务网站进行分析,我必须复制价格。

我想做的就是,我将网站的网址粘贴到Excel工作表中,然后从单元格中的标记名称中获取价格。网站的来源如下:

<table>
<td>
Price
</td>
<td>
:
</td>
<td>
<input name="Price" type="text" value="148.0000" id="uxMSRPPrice1" style="width: 250px;" />
(In x.xx format)
</td>
</table>

我希望在我的工作表中获得价格148.0000,使用标签名称=“价格” 价格是来源中的唯一标记

还有一件事,我只能从这样的URL获取源代码,包括view-source(我无法共享原始客户端URL,因此我将其更改为xyz):

https://www.xyz com/admin/ProductPage.aspx?ProductID=xxx

1 个答案:

答案 0 :(得分:1)

Public Sub GetValueFromBrowser()
' Keyboard Shortcut: Ctrl+q
Dim ie As Object
    Dim url As String
    Dim selling As String
    Dim cost As String
    url = Selection.Value
    Set ie = CreateObject("InternetExplorer.Application")

    With ie
      .Visible = 1
      .navigate url
       While .Busy Or .readyState <> 4
         DoEvents
       Wend
    End With

    Dim Doc As HTMLDocument
    Set Doc = ie.document

    selling = Trim(Doc.getElementsByName("sellingPrice")(0).Value)
    ActiveCell.Offset(0, 1).Value = selling
    cost = Trim(Doc.getElementsByName("costPrice")(0).Value)
    ActiveCell.Offset(0, 2).Value = cost
    ie.Quit
End Sub