【发布时间】:2020-10-03 15:46:06
【问题描述】:
您好,我需要有关此代码的帮助我正在尝试从此页面“收益历史记录”块中提取数据: https://finance.yahoo.com/quote/MSFT/analysis?p=MSFT
已经为此苦恼了 4 个小时。非常感谢任何帮助/提示!
问候米兰
Dim objIE As InternetExplorer
Dim aEle As HTMLDocument
Dim y As Long
Dim x As String
Dim lastrow As Long
Set objIE = New InternetExplorer
objIE.Visible = True
lastrow = Sheets("Table5").usedrange.Row - 1 + Sheets("Table5").usedrange.Rows.Count
For y = 11 To lastrow Step 2
x = Sheets("Table5").Range("A" & y).Value
If x = "" Then
Exit Sub
Else
objIE.navigate "https://finance.yahoo.com/quote/" & x & "/analysis?p=" & x
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
For Each aEle In objIE.document.getElementsByClassName("BdT Bdc($seperatorColor)")
'On Error Resume Next
If InStr(aEle.innerText, "EPS Actual") > 0 Then
Sheets("Table5").Range("T" & y).Value = aEle.Children(4).innerText
Sheets("Table5").Range("U" & y).Value = aEle.Children(3).innerText
Sheets("Table5").Range("V" & y).Value = aEle.Children(2).innerText
Sheets("Table5").Range("W" & y).Value = aEle.Children(1).innerText
Exit For
End If
Next
End If
Next y
End Sub
【问题讨论】:
-
你试图从
Earnings History表中解析什么? -
感谢您的留言!基本上是“EPS 实际”行中的数字
标签: excel vba web-scraping yahoo-finance