如何将网站文本的一部分抓取到Excel单元格中

我试图通过GM Parts网站自动创build一系列零件号码值的描述列表。

例如,以下是部件号23498355的链接 – http://www.gmpartsdirect.com/oe-gm/23498355

我试图抓住零件描述文字“这个ABS传感器是一个真正的原始设备制造商通用汽车零件#23498355和进行工厂保修。我们提供最好的网上价格与快速运送任何订单放置与我们。 可在此网页上findExcel。

我写了下面的代码来获取该信息,但无法完成最后几行可以抓住这个特定的信息。

Option Explicit Sub myConnection() Dim oHtml, myData, Title, cste Set oHtml = New HTMLDocument With CreateObject("WINHTTP.WinHTTPRequest.5.1") .Open "GET", "http://www.gmpartsdirect.com/oe-gm/23498355", False .send oHtml.body.innerHTML = .responseText End With 'Rest of the code to grab the exact part description End Sub 

一旦我得到这个工作,这个想法是自动化的过程中的零件号码列表。 任何人都可以帮我完成这段代码?

使用MSHTML来parsing你的HTML是有限的,因为许多“现代”的文档方法可能不会实现,但你可以使它在这种情况下工作:

 Sub myConnection() Dim oHtml, myData, Title, cste, d Set oHtml = New MSHTML.HTMLDocument With CreateObject("WINHTTP.WinHTTPRequest.5.1") .Open "GET", "http://www.gmpartsdirect.com/oe-gm/23498355", False .send oHtml.body.innerHTML = .responseText Set d = myGetElementsByClassName(oHtml, "div", "description_body") If Not d Is Nothing Then Debug.Print d.innerText End If End With 'Rest of the code to grab the exact part description End Sub 'return an element given its tag name and class name Function myGetElementsByClassName(doc, tagName, className) As Object Dim el As Object For Each el In doc.getElementsByTagName(tagName) If el.className = className Then Set myGetElementsByClassName = el Exit Function End If Next el Set myGetElementsByClassName = Nothing End Function