【问题标题】:Scraping Google Finance using WINHTTP使用 WINHTTP 抓取 Google 财经
【发布时间】:2018-07-11 22:47:33
【问题描述】:

我正在尝试将谷歌金融中的公司名称刮到我的 Excel 文件中。但是,它似乎不起作用。任何帮助将不胜感激。

Sub get_name()

  Dim oHtml As HTMLDocument
  Dim oElement As Object
  Dim i As Integer

  Set oHtml = New HTMLDocument

  With CreateObject("WINHTTP.WinHTTPRequest.5.1")
    'On Error Resume Next
    For i = 0 To 29
      .Open "GET", "https://finance.google.com/finance?q=" & Range("A32").Offset(i, 0).Value, False
      .send
      oHtml.body.innerHTML = .responseText

      Range("H32").Offset(i, 0).Value = oHtml.getElementsByClassName("appbar-snippet-primary")(0).innerText              

      Next i
    End With    
End Sub

【问题讨论】:

  • 欢迎来到 Stack Overflow! “如何抓取网络数据” 可能是本网站上问得最多的 VBA/Excel 问题;只需快速搜索,您将获得更多信息。查看tourHow to Ask 中也有重要提示,minimal reproducible example 中还有关于提供示例的提示。我们希望看到在寻求帮助(针对特定问题)之前已经做出了一些努力来寻找解决方案,因此请在edit 时提供有关您迄今为止尝试过的内容的详细信息。更多信息here。另外,请定义:“不起作用”

标签: excel vba finance getelementsbyclassname winhttp


【解决方案1】:

除非您的问题未达到您的实际目标,否则没有理由加载各​​个 Google 财经页面来根据股票代码检索公司名称。

所有符号、公司名称、价格、部门等的 CSV 列表,用于:

您为什么不创建一个包含符号和公司列表的 Excel 工作表(或 Access DB),然后在工作表上使用 VLOOKUPWorksheet FunctionVBA)来查找您的需要吗?

如果您出于其他原因特别需要抓取单个页面,本网站和其他网站上有大量示例。

这应该可以帮助您入门:

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 2023-03-27
    • 2017-12-28
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 2020-04-01
    相关资源
    最近更新 更多