从未显示的页面获取数据 table

getting Data from a page that doesn't show table

我正在尝试将实时数据从网站获取到我的 Excel spreadsheets.The 中,唯一的问题是当我通过 Excel 中的获取数据访问网页时,table 无法识别。我只能导入整个页面,即使这样也无法获得我需要的数据。如果提供 Url,我想 运行 一个宏来获取数据,因为页面太多,无法手动完成。

为了比较,我尝试导入的数据是来自不同博彩公司的所有赔率,这是一个示例 https://www.oddschecker.com/tennis/kaitlyn-christian-sabrina-santamaria-v-tatjana-maria-heather-watson/winner

或者这个网站https://easyodds.com/tennis/atp/acapulco-mexico/928015/match-result任何一个都可以

我真的很感激能对此有所了解。谁能帮忙!!

很奇怪为什么你的解决方案对我不起作用:

enter image description here enter image description here

好的。这是第一个 link.

的解决方案

我可以稍微整理一下输出,但它可以帮助您入门。

选择了一个活动表并将参考添加到 MS XML 和 MS HTML 库。

参考资料

代码

Option Explicit

Sub test4()

    Dim html As New HTMLDocument, http As New XMLHTTP60

    With http
        .Open "GET", "https://www.oddschecker.com/tennis/kaitlyn-christian-sabrina-santamaria-v-tatjana-maria-heather-watson/winner", False
        .Send
        html.body.innerHTML = .ResponseText
    End With

    Dim allRowOfData As Object

    Set allRowOfData = html.getElementsByClassName("at-12 standard-list")(0)

    Dim r As Long, c As Long

    Dim curHTMLRow As Object

    Dim counter As Long
    counter = 1

    For r = 0 To allRowOfData.Rows.Length - 1

        Set curHTMLRow = allRowOfData.Rows(r)

        Dim tblCell As HTMLTableCell

        For Each tblCell In curHTMLRow.Cells

          If Not tblCell.innerText = "1" And Not tblCell.innerText = "2" And Len(tblCell.innerText) > 0 Then
           ActiveSheet.Range("A" & counter).Value = Application.WorksheetFunction.Substitute(tblCell.innerText, "/", " over ")
           counter = counter + 1
          End If

        Next tblCell

    Next r

End Sub

结果: