HTML 将 Elm 隐藏到 VBA
HTML Anchor Elm's Hidden to VBA
我正在努力将一组链接检索到集合中。所有其他页面元素响应正常的 get 命令,除了这些。这是 HTML 和 javascript 的知识会带来好处的地方。我自己的猜测,故障可能与 href 是一个 javascript 命令有关,或者它们隐藏在 "clear" 或 "clearfix" class 后面,呈现它们隐?
我的最终目标是能够从 javascript hrefs.
中抓取链接
感谢任何帮助。谢谢
Public Function getNewsMAIN()
Dim strURL As String: strURL = _
"http://www.londonstockexchange.com/exchange/prices-and-markets/stocks/exchange-insight/company-news.html?fourWayKey=GB00BYN59130GBGBXSTMM"
Dim HTMLDoc As New HTMLDocument
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
oXMLHTTP.Open "GET", strURL, False
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
HTMLDoc.body.innerHTML = oXMLHTTP.responseText
Else: End If
'//Various attempts at cornering the links
Dim myLinks As IHTMLElementCollection
Dim myLink As IHTMLElement
Set myLinks = HTMLDoc.getElementsByTagName("a") '("ul") ("li")
Set myLinks = HTMLDoc.getElementsByClassName("newsArchive") '("newsContainer")
Set myLink = HTMLDoc.getElementById("newsArchive")
End Function
有问题的HTML。
链接包含在
<li class="newsContainer"></li>
每页有 40 个。
这些链接是在主页加载后加载到页面的附加内容的一部分,因此它们不是 MSXML 内容的一部分。如果您想从这样的页面获取内容,那么最好的办法是尝试让 IE 自动加载页面,然后在整个页面呈现后收集链接。
我正在努力将一组链接检索到集合中。所有其他页面元素响应正常的 get 命令,除了这些。这是 HTML 和 javascript 的知识会带来好处的地方。我自己的猜测,故障可能与 href 是一个 javascript 命令有关,或者它们隐藏在 "clear" 或 "clearfix" class 后面,呈现它们隐? 我的最终目标是能够从 javascript hrefs.
中抓取链接感谢任何帮助。谢谢
Public Function getNewsMAIN()
Dim strURL As String: strURL = _
"http://www.londonstockexchange.com/exchange/prices-and-markets/stocks/exchange-insight/company-news.html?fourWayKey=GB00BYN59130GBGBXSTMM"
Dim HTMLDoc As New HTMLDocument
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
oXMLHTTP.Open "GET", strURL, False
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
HTMLDoc.body.innerHTML = oXMLHTTP.responseText
Else: End If
'//Various attempts at cornering the links
Dim myLinks As IHTMLElementCollection
Dim myLink As IHTMLElement
Set myLinks = HTMLDoc.getElementsByTagName("a") '("ul") ("li")
Set myLinks = HTMLDoc.getElementsByClassName("newsArchive") '("newsContainer")
Set myLink = HTMLDoc.getElementById("newsArchive")
End Function
有问题的HTML。 链接包含在
<li class="newsContainer"></li>
每页有 40 个。
这些链接是在主页加载后加载到页面的附加内容的一部分,因此它们不是 MSXML 内容的一部分。如果您想从这样的页面获取内容,那么最好的办法是尝试让 IE 自动加载页面,然后在整个页面呈现后收集链接。