WinHttpRequest получает страницу, отличную от той, что получает браузер
Пользователь
Сообщений: Регистрация: 03.03.2019
04.03.2019 20:02:44
Все получилось, спасибо за помощь!
WinHttpRequest получает страницу, отличную от той, что получает браузер
Пользователь
Сообщений: Регистрация: 03.03.2019
04.03.2019 04:40:35
Насколько я понимаю, это выдаст текст без HTML-тегов. Семантический анализ намного проще проводить с тегами. Кроме того, конкретно в этом случае список магазинов "скрыт", и при загрузке текста через браузер не будет виден.
WinHttpRequest получает страницу, отличную от той, что получает браузер
Пользователь
Сообщений: Регистрация: 03.03.2019
03.03.2019 21:28:02
Здравствуйте! Требуется средствами VBA собрать данные о наличии товаров в разных магазинах. Пример страницы товара: На странице есть фраза: "В наличие в N магазинах", из html можно выбрать, какие это конкретно магазины. Проблема в том, что когда я запрашиваю эту же страницу через WinHttpRequest, она выдается немного в другом виде, и там присутствует фраза "Нет в наличие". Возможно, проблема решилась бы указанием в запросе заголовков, но подбор заголовков наугад ни к чему не привел. Текущий вариант кода ниже, оставлен только User-Agent.
Код
Sub test_internet()
addr = "https://superakb.ru/catalogue/varta-sd-77-ach-l-e44_4361/"
t = 6
Set xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
xmlhttp.Open "GET", addr, True
xmlhttp.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:65.0) Gecko/20100101 Firefox/65.0"
xmlhttp.Send
If Not xmlhttp.WaitForResponse(t) Then
MsgBox "timeout", URL: Exit Sub
End If
txt = xmlhttp.ResponseText
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText txt
.PutInClipboard
End With
End Sub
Подскажите, пожалуйста, каких заголовков не хватает, или, если дело не в них, как решить проблему. Спасибо!