parsing富达股票报价页面
通过build立与相关富达页面的连接,我可以从富达获得股票和指数数据; 将结果写入工作表; 然后在表格上find我想要的结果。
我现在试图简化和避免使用IE和临时工作表页面 。 下面的代码,使用微软的XML,v6.0似乎下载了所有的相关信息,但我不知道如何处理事后,以便能够提取最后一个价格的名称 , 最后价格和date/时间 。
我曾看过雅虎的财务和Google的财务,但他们没有我所感兴趣的所有指数。
下面的代码使我能够下载页面信息,但是我看到的“Get”返回的唯一组件是responseText
(我已经分解并放在工作表上以供检查)和responseBody
是一个responseText
内容的字符代码数组。
也许我甚至不应该首先使用MS XML工具,但在我看来这应该是可能的。
感谢任何指针。
Sub FIDOQuoteTester() 'Set Reference to Microsoft XML V6.0 Const sURLPart1 As String = "http://quotes.fidelity.com/webxpress/get_quote?QUOTE_TYPE=D&SID_VALUE_ID=" Const sURLPart3 As String = "&submit=Quote" Dim sURL As String Dim sSymbols As String '+ separated list Dim REQ As MSXML2.ServerXMLHTTP60 'using Server type as the other raises security problems Dim V As Variant, R As Range Dim S As String sSymbols = ".DJI+.SPX" sURL = sURLPart1 & sSymbols & sURLPart3 Set REQ = New ServerXMLHTTP60 REQ.Open "Get", sURL, False REQ.send S = REQ.responseText Stop 'putting string on worksheet for examination 'Need to split the string as it is too long for a cell. V = Split(S, vbLf) Set R = Range("a1").Resize(UBound(V) + 1, 1) With R .EntireColumn.Clear .Value = WorksheetFunction.Transpose(V) End With End Sub
设置一个参考Microsoft HTML对象库。
然后 :
'/ Adding response text to MSHTML Dim oHTML As New HTMLDocument Dim e '/ This is your element oHTML.body.innerHTML = "" oHTML.body.innerHTML = S '/ Set your responseText(HTML) here '/ Loop through all the elements For Each e In oHTML.all Debug.Print e.ID & "-->" & e.innerText Next