【发布时间】:2018-03-27 10:31:09
【问题描述】:
我需要从 Yahoo Finance 页面读取股票的收盘价。在使用 Google Finance 页面之前,我已经回答了这个问题,但该页面不再可用,我相信 Google 已经完全改变了它的 Finance 页面。我相信我可以在雅虎财经上应用同样的内容,只需稍作修改。
假设 Yahoo Finance 有以下股票代码 AAPL(Apple)的代码:
![YAHOO WEBPAGE CODE FOR AAPL][1]
我只需要提取值 172.77。
这与 Google 财经页面完美配合。在我下面的代码中。
行:
"https://finance.google.com/finance?q="
替换为:
"https://finance.yahoo.com/quote/"
代码在一系列单元格中循环并读取股票代码。我们需要从 Yahoo 页面获得相同的结果。
Sub ImportCurrentPriceNEW()
Dim appIE As New InternetExplorer, html As HTMLDocument
Dim item_data As Object
For k = 6 To 26 Step 1
s = 1
H = 1
L = 1
StopLoop = 0
q = Format(k, "0")
If IsEmpty(ActiveSheet.Range("$E$" & q).Value) = True Then
With appIE
.Visible = False
.navigate "https://finance.google.com/finance?q=" & Sheets("Up Trend
Stocks").Range("$A$" & q).Value
Do Until .readyState = 4: DoEvents: Loop
Set html = .document
End With
Set item_data = html.querySelector(".pr span")
Range("$B$" & q).Value = item_data.innerText
End If
Next
appIE.Quit
Range("D1").Select
End Sub
请告诉我如何修改上面的代码以从雅虎财经页面读取数据。
【问题讨论】:
-
请不要在你的问题标题中使用全大写 - 这被认为是对你的读者大喊大叫。
-
请将数据 sn-p 复制为文本而不是屏幕截图,以使她能够重现您的问题而无需重新键入数据。
-
@Filburt 恐怕我不明白你的意思。你能澄清一下吗?此外,问题标题并非全大写。谢谢
-
它不再是全大写了,因为我编辑了它。
-
我的错.....谢谢
标签: excel web-scraping yahoo-finance vba