0

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

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

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

我真的很感激对此的一些见解。有人可以帮忙吗!!

为什么您的解决方案对我不起作用,这真的很奇怪:

在此处输入图像描述 在此处 输入图像描述

4

1 回答 1

0

好的。这是您的第一个链接的解决方案。

我可以稍微整理一下输出,但它会让你开始。

选择活动表并将参考添加到 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

结果:

结果

于 2018-03-03T19:01:13.523 回答