【问题标题】:Scraping specific data inside a table在表中抓取特定数据
【发布时间】:2020-04-25 15:41:00
【问题描述】:

这可能是一个非常简单的解决方案,但即使我感觉很接近,我也不知所措。

我正在尝试从 TMX 网站上抓取市场数据,特别是我希望将股息金额放入我的 Excel 工作簿中。

这是“检查”部分的以下几行代码。

<table class="table">
  <tbody>
    <tr>
      <td>
        <strong>Amount:</strong>&nbsp;
        $0.0495
      </td>

我需要将 0.0495 美元放入工作簿,我的 vba 代码如下:

For Each htmlELE In ieObj.document.getElementsByClassName("table")(0).getElementsByTagName("tr")(0).getElementsByTagName("td")
    With ActiveSheet
        .Range("L10").Value = htmlELE.Children(0).innerText
    End With

所以,我正在浏览代码,但最后不断选择“金额:”并将其放入单元格中,而不是值,即我需要的值,位于下一行。

【问题讨论】:

  • 复制inter html然后清理它的值&lt;td&gt;&lt;strong&gt;Amount: strong&gt;&amp;nbsp;$0.0495&lt;/td

标签: html excel vba web-scraping getelementsbytagname


【解决方案1】:
Dim v
For Each htmlELE In ieObj.document.getElementsByClassName("table")(0). _
               .getElementsByTagName("tr")(0).getElementsByTagName("td")

    v = htmlELE.innerText

    '&nbsp; is CHR(160)
    ActiveSheet.Range("L10").Value = trim(Replace(v, "Amount:" & chr(160),""))

    'or lookfor the $ and take the rest
    p = Instr(v, "$")
    If p > 0 Then ActiveSheet.Range("L10").Value= Mid(v, p)

【讨论】:

  • 谢谢蒂姆,下半场完美无缺——“寻找美元,剩下的。”
猜你喜欢
  • 2023-03-12
  • 2017-01-26
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
相关资源
最近更新 更多