Добрый день! Написал парсер, но он загружает данные только с 1 страницы т.к. страницы с подзагрузкой. Кто знает как вытягивать данные только тогда, когда все страницы загрузились. Вот отрывок кода, в сайте посмотрел при прокрутке страницы подгружаются новые страницы по типу https://www.marathonbet.ru/su/betting/11?periodGroupAllEvents=24&page=6&pageAction=g..., где меняется номер страницы, как теперь сделать, чтоб вся HTML сохранилась
Код
Sub browse()Dim site As New MSXML2.XMLHTTP60
Dim txt As New MSHTML.HTMLDocument
Dim team As MSHTML.IHTMLElement
Dim teams As MSHTML.IHTMLElementCollection
Dim team1 As MSHTML.IHTMLElement
Dim d%, team3$
Dim parser As New RegExp
Dim last%
site.Open "GET", "https://www.marathonbet.ru/su/betting/11?periodGroupAllEvents=24", False
site.send
txt.body.innerHTML = site.responseText
With parser '
.Pattern = "data-event-name.+"
.Global = True
.IgnoreCase = True
With .Execute(txt.body.innerHTML)
For d = 0 To .Count - 1
team3 = .Item(d)
Cells(d + 2, 4) = team3
Next d
End With
End With
End Sub
Sub browse()
Dim site As New MSXML2.XMLHTTP60
Dim txt As New MSHTML.HTMLDocument
Dim team As MSHTML.IHTMLElement
Dim teams As MSHTML.IHTMLElementCollection
Dim team1 As MSHTML.IHTMLElement
Dim d%, team3$, HTML$
Dim parser As New RegExp
Dim last%
site.Open "GET", "https://www.marathonbet.ru/su/betting/11?periodGroupAllEvents=24", False
site.send
txt.body.innerHTML = site.responseText
With parser '
.Pattern = "data-event-name.+"
.Global = True
.IgnoreCase = True
With .Execute(txt.body.innerHTML)
For d = 0 To .Count - 1
team3 = .Item(d)
Cells(d + 2, 4) = team3
Next d
End With
End With
last = 0
URL = ""
Do
last = last + 1
URL = "https://www.marathonbet.ru/su/betting/11?periodGroupAllEvents=24&page=" & last & _
"&pageAction=getPage"
site.abort
site.Open "GET", URL, False
site.send
HTML = site.responseText
If InStr(1, HTML, "{""prop"":""hasNextPage"",""val"":false}]", vbTextCompare) > 0 Then Exit Do
Loop
End Sub
doober, скажите а этот код нужно вставлять вместо моего? Я просто не могу понять как по этому новому коду будут парситься данные? Если несложно объясните
Код
last = 0 URL = ""
Do
last = last + 1
URL = "https://www.marathonbet.ru/su/betting/11?periodGroupAllEvents=24&page=" & last & _
"&pageAction=getPage"
site.abort
site.Open "GET", URL, False
site.send
HTML = site.responseText
If InStr(1, HTML, "{""prop"":""hasNextPage"",""val"":false}]", vbTextCompare) > 0 Then Exit Do
Loop