从未显示的页面获取数据 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
结果:
我正在尝试将实时数据从网站获取到我的 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
结果: