Если надо сохранить это все в excel и на локальной машине, то я бы делал это прямо инструментами excel
С помощью инструмента WinHttp.WinHttpRequest.5.1 получаем данные страницы
spoiler'---------------------------------------------------------------------------------------
' Purpose : Стучимся в сервер за результатами
'---------------------------------------------------------------------------------------
' sQuery - строка запроса
' sResponse - ответ, передается по ссылке
Function Runhttp(sQuery As String, ByRef sResponse As String) As Boolean
On Error GoTo ErrorHandler
Dim oHttp As Object
Dim s$, h$, FileName As String
Dim v As Variant
Set oHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
With oHttp
.Open "GET", sQuery, False
.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.137 YaBrowser/17.4.1.955 Yowser/2.5 Safari/537.36"
.SetRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
.SetRequestHeader "Accept-Language", "uk,ru;q=0.8,en;q=0.6"
.SetRequestHeader "Connection", "keep-alive"
.Send ("")
End With
If oHttp.Status = 200 Then
sResponse = oHttp.responseText
Runhttp = True
Else
sResponse = oHttp.Status
Runhttp = False
End If
ErrorExit:
Set oHttp = Nothing
On Error GoTo 0: Exit Function
ErrorHandler:
If Err.Number = -2147012889 Then ' Ошибка нет соединения
End If
End Function
в результате в sResponse имеем полностью html запрошенной страницы
Далее проводим разбор. Я бы порекомендовал код отсюда
Работа с HTML
Ну и дальше пишите себе ссылки или что вы там распарсите прямо в лист Excel
Это возможно будет медленнее чем на php, но Вы сказали, что такая задача бывает не часто. А значит запустил и пошел обедать. Можно сначала насобирать ссылок со страниц, а вторым этапом уже вытаскивать данные по ссылкам (алгоритм такой-же).
Есть одно предостережение, если ОС Windows XP и ниже, то не все https читаются. Http читается легко, https - только версии 1.1 . Это проблема ОС.
С Ув. Анатолий