首页 > 解决方案 > 检索网站表以导入 Excel

问题描述

我正在学习如何将表格从网站检索到 excel 中。我通常使用web查询功能,但有时excel看不到这些表。因此,我试图通过阅读大量帖子来编写 VBA 查询,但我知识有限,希望能得到您的帮助。

网站链接: https ://www.zacks.com/stocks/industry-rank/sectors/?icid=stocks-industry-nav_tracking-zcom-main_menu_wrapper-zacks_sector_rank

这是我到目前为止写的:

Public Sub GetInfo()

Dim IE As New InternetExplorer, clipboard As Object
With IE
    .Visible = True
    .navigate "https://www.zacks.com/stocks/industry-rank/sectors/?icid=stocks-industry-nav_tracking-zcom-main_menu_wrapper-zacks_sector_rank"

    While .Busy Or .readyState < 4: DoEvents: Wend

    Set clipboard = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    With .document.getElementById("industry_sector_data_table").contentDocument
        ThisWorkbook.Worksheets("Sheet1").Cells(1, 1) = .getElementsByClassName("industry_sector_data_table")(0).innerText
        clipboard.SetText .getElementsByTagName("table")(2).outerHTML
        clipboard.PutInClipboard
    End With

    ThisWorkbook.Worksheets("Sheet1").Cells(2, 1).PasteSpecial
    .Quit
End With

结束子

这是该表所在站点的图片: 在此处输入图像描述

首先,我需要点击收入标签(不知道是否可能)

第二项是如何将条目数选择为 100 ?这适用于我将来需要检索的其他表。这个其实不需要。

在此处输入图像描述

第三,桌子的位置。我有“industry_sector_date_table”作为表ID。不确定如何实际获取信息“td”,在本例中为 80.77%、83.33% 和所有其他信息。该表似乎是 2 号。我还在一篇文章中读到,有一种方法可以在不打开 Web 浏览器的情况下进行操作,不确定我是否理解正确。可能吗 ?希望任何人都可以从这里提供帮助。谢谢

在此处输入图像描述

标签: excelvbaweb-scraping

解决方案


推荐阅读