【发布时间】:2019-01-06 22:22:30
【问题描述】:
我找到了一个代码,可以从雅虎财经的“财务”选项卡中的表格中提取所有数据。 现在我希望能够提取股票名称以插入单元格 A3,靠近股票代码。
'this is the code to exctact the data
Dim htm, Tr, Td, Tab1, Tab2, HTML_Content As Object
Dim Web_URL As String
Dim Column_Num_To_Start, iRow, iCol, eCol, iTable As Integer
Dim Val, varVal1, varVal2, varVal3 As Variant
Dim chtObj As ChartObject
Column_Num_To_Start = 1
iRow = 7
iCol = Column_Num_To_Start
iTable = 2
Web_URL = "https://finance.yahoo.com/quote/" & Cells.Range("A2").Value & "/financials?p=" & Cells.Range("A2").Value
Set HTML_Content = CreateObject("htmlfile")
With CreateObject("msxml2.xmlhttp")
.Open "GET", Web_URL, False
.send
HTML_Content.body.innerHTML = .responseText
End With
For Each Tab1 In HTML_Content.getElementsByTagName("table")
With HTML_Content.getElementsByTagName("table")(iTable)
For Each Tr In .Rows
For Each Td In Tr.Cells
ActiveSheet.Cells(iRow, iCol).Select
ActiveSheet.Cells(iRow, iCol) = Td.innerText
ActiveCell.WrapText = False
iCol = iCol + 1
Next Td
eCol = iCol - 1
iCol = Column_Num_To_Start
iRow = iRow + 1
Next Tr
End With
Exit For
Next Tab1
【问题讨论】:
标签: excel vba web-scraping