html - 使用它们的类提取 HTML 元素值
问题描述
我查看了此链接Extract Table from Webpage in Excel using VBA 中提供的解决方案 ,它非常有帮助。但是我需要在每个 HTML 表格单元格(td)中提取具有某些类的元素。
网址是:https ://www.betfair.com/exchange/plus/football/competition/11997260
HTML表格类为:coupon-table
要提取的价格嵌套在单元格内。它位于使用“bet-button-price”类的 Span 元素中。这就是我需要提取到 Excel 工作表中每个单元格的数据。
这是表结构的屏幕截图:
如果能获得任何帮助,将每个单元格中的价格提取到工作表中,我将不胜感激。
Public Sub GetInfo()
Const URL As String = "https://www.betfair.com/exchange/plus/football/competition/11997260"
Dim html As HTMLDocument, hTable As HTMLTable, ws As Worksheet, headers()
headers = Array("Countries", "Prices")
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set html = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
html.body.innerHTML = .responseText
End With
Set hTable = html.querySelector("table.coupon-table")
Dim Td As Object, Tr As Object, r As Long, c As Long
r = 1
With ws
.Cells(1, 1).Resize(1, UBound(headers) + 1) = headers
For Each Tr In hTable.getElementsByTagName("tr")
r = r + 1: c = 1
If r > 3 Then
For Each Td In Tr.getElementsByClassName("bet-button-price")
.Cells(r - 2, c) = IIf(c = 2, "'" & Td.innerText, Td.innerText)
c = c + 1
Next
End If
Next
End With
结束子
解决方案
你试过 getElementByClassName("yourclassname") 吗?
推荐阅读
- python - psycopg2:TypeError:预期的字节或unicode字符串,得到了quoted_name
- swift - NSStatusItem 未显示在菜单栏中
- database - 无法启动 clickhouse 服务,../data/default/ 中的文件太多
- javascript - 替换动态表中的整个表行
- java - 服务器发送事件端点
- unity3d - Unity3D 相对于原始方向操纵对象方向
- sql - 运行总 sql SAP B1 - 找不到解决它的正确方法
- java - 在 Android Firebase 存储中上传文件后如何获取文件下载 URL?getDownloadUrl() 不工作
- javascript - SweetAlert2 蹩脚的文字
- javascript - JS fetch,没有得到响应的标题