Я хотел бы извлечь данные из betexplorer.com. Я хочу извлечь две разные части данных из следующего URL-адреса:
https://www.betexplorer.com/soccer/s...eague-1/stats/
Я хотел бы извлечь данные о сыгранных и оставшихся матчах Я хотел бы извлечь данные о головах дома и на выезде (за матч)
У меня есть код для этого, и он выглядит следующим образом:
Option Explicit
Sub GetSoccerStats()
'Set a reference (VBE > Tools > References) to the following libraries:
' 1) Microsoft XML, v6.0
' 2) Microsoft HTML Object Library
Dim xmlReq As New MSXML2.XMLHTTP60
Dim objDoc As New MSHTML.HTMLDocument
Dim objTable As MSHTML.htmlTable
Dim objTableRow As MSHTML.htmlTableRow
Dim strURL As String
Dim strResp As String
Dim strText As String
Dim rw As Long
strURL = "https://www.betexplorer.com/soccer/south-korea/k-league-1/stats/"
With xmlReq
.Open "GET", strURL, False
.send
If .Status <> 200 Then
MsgBox "Error " & .Status & ": " & .statusText
Exit Sub
End If
strResp = .responseText
End With
Worksheets.Add
objDoc.body.innerHTML = strResp
Set objTable = objDoc.getElementsByClassName("table-main leaguestats")(0)
If Not objTable Is Nothing Then
rw = 1
For Each objTableRow In objTable.Rows
strText = objTableRow.Cells(0).innerText
Select Case strText
Case "Matches played", "Matches remaining", "Home goals", "Away goals"
Cells(rw, "a").Value = objTableRow.Cells(0).innerText
Cells(rw, "b").Value = objTableRow.Cells(1).innerText
Cells(rw, "c").Value = objTableRow.Cells(2).innerText
rw = rw + 1
End Select
Next objTableRow
Columns("a").AutoFit
End If
Set xmlReq = Nothing
Set objDoc = Nothing
Set objTable = Nothing
Set objTableRow = Nothing
End Sub
Этот код работает, однако я хочу сделать еще один шаг.
Я действительно хочу запустить этот макрос для многих разных URL-адресов на одном сайте. У меня уже есть рабочий лист со списком футбольных лиг (в строках), столбцы содержат данные.
Вы можете найти файл здесь: https://www.dropbox.com/s/77sol24sty75w5z/Avg%20Goals.xlsm?dl=0
Это файл, в котором я буду добавлять лиги к строкам по мере продвижения. Можно ли адаптировать код, который извлекает данные, чтобы он мог заполнять столбцы на моем листе? Мне не нужно вводить имена данных (оставшиеся матчи, домашние голы, голы на выезде и т. д.), как это делает этот код, мне нужны только цифры. Извлеченные цифры должны будут заполнить столбцы в соответствии с листом (таким образом, каждая строка содержит данные для каждой лиги. Как вы можете видеть, есть несколько лиг, поэтому необходимо будет пройтись по каждой строке, а затем использовать соответствующий URL-адрес для этого ряд.
Вы заметите, что есть столбец, содержащий слово ТЕКУЩИЙ. Это указывает на то, что он должен использовать URL-адрес в столбце Текущий URL-адрес. Если я изменю значение на ПОСЛЕДНИЙ, я бы хотел, чтобы он использовал URL-адрес в столбце Последний URL-адрес.
Для каждой лиги будет по-разному, если я использую ТЕКУЩАЯ или ПОСЛЕДНЯЯ.
Вот изображение ожидаемого результата:
Любая помощь приветствуется.