【发布时间】:2018-01-26 17:49:56
【问题描述】:
我正在尝试从网站获取欧元金额字符串的数字部分。我尝试了不同的东西,通常可以。这是我最好的 3 次尝试。没有任何效果
我的第一次尝试:
Sub gsellor()
Dim objIE As InternetExplorer
Dim aEle As HTMLLinkElement
Dim HTMLtags As IHTMLElementCollection
Dim HTMLtag As IHTMLElement
Dim HTMLPreisTag As IHTMLElement
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
Set HTMLPreisTag = objIE.document.getElementById("page_content").Children(0).Children(1).Children(0).Children(1).Children(0)
Debug.Print HTMLPreisTag.className
Debug.Print HTMLPreisTag.Children(1).Children(0).Children(0).innerText ' gets stuck right here
objIE.Quit
End Sub
立即窗口显示:
MarketInfo_market-info_3lkUj
我的第二次尝试:
Sub gsellor()
Dim objIE As InternetExplorer
Dim aEle As HTMLLinkElement
Dim HTMLtags As IHTMLElementCollection
Dim HTMLtag As IHTMLElement
Dim HTMLPreisTag As IHTMLElement
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
Set HTMLtags = objIE.document.getElementsByTagName("span")
Debug.Print HTMLtags.Length
For Each HTMLtag In HTMLtags
Debug.Print "name: " & HTMLtag.className
Debug.Print "text: " & HTMLtag.innerText
Next HTMLtag
objIE.Quit
End Sub
立即窗口显示:
3
name:
text:
name: AccountPanel_account-panel-user-name_2TNIL
text:
name: sr-only
text: Toggle navigation
我的第三次尝试:
Sub gsellor()
Dim objIE As InternetExplorer
Dim aEle As HTMLLinkElement
Dim HTMLtags As IHTMLElementCollection
Dim HTMLtag As IHTMLElement
Dim HTMLPreisTag As IHTMLElement
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "https://www.gdax.com/trade/LTC-EUR"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
Set HTMLtags = objIE.document.getElementsByClassName("MarketInfo_market-num_1lAXs")
Debug.Print HTMLtags.Length
For Each HTMLtag In HTMLtags
Debug.Print "name: " & HTMLtag.className
Debug.Print "text: " & HTMLtag.innerText
Next HTMLtag
objIE.Quit
End Sub
立即窗口:
0
【问题讨论】:
-
你只需要那个数字,而且它总是前面是this tag,对吗?如果是这样,请不要费心将其解析为 HTML 对象,只需将
InnerHTML放入字符串变量中并使用常见的文本函数(如InStr和Mid)来查找您需要的内容。这个网站和其他网站上可能有几十个例子。
标签: vba excel dom web-scraping children