Excel VBA 抓取 - Morningstar

Excel VBA Scraping - Morningstar

我想使用 excel vba 代码来逃避此 link 的财务状况,但无法使用我当前的代码执行此操作。

所有我想复制和粘贴的所有数据。它是否包含其他信息并不重要。

我该怎么做?

Link:http://financials.morningstar.com/cash-flow/cf.html?t=SPN&region=usa&culture=en-US 子 MS()

Sheets("Morningstar").ClearContents my_Page = "http://financials.morningstar.com/cash-flow/cf.html?t=SPN&region=usa&culture=en-US"

Sub MS()

Sheets("Morningstar").ClearContents
    my_Page = "http://financials.morningstar.com/cash-flow/cf.html t=SPN&region=usa&culture=en-US"
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .Navigate my_Page
        Do Until .ReadyState = 4: DoEvents: Loop
    End With

   Application.EnableEvents = False
   IE.ExecWB 17, 0
   Do Until IE.ReadyState = 4: DoEvents: Loop
   IE.ExecWB 12, 2
   ActiveSheet.PasteSpecial Format:="HTML", link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
   Range("A1").Select

   IE.Quit
    Application.EnableEvents = True
End Sub

一种方法是使用 MSHTML 库(您需要在参考资料中启用它)。

将 html 文档加载到一个对象中。 IE.document 遍历元素以提取所需的数据。

这里有一些使用 VBA 解析信息的好例子。您可以使用这些技术来获取数据: Parse HTML content in VBA Pulling a table out of a mess of HTML w/ VBA & Excel http://www.ozgrid.com/forum/showthread.php?t=184695

祝你好运。请记住定期查看,因为网站更改可能会破坏抓取代码。