Ниже представлены объявленные переменные для 3 запросов, которые я реализую в своих макросах. Я перечислил библиотеки, которые они используют, и их поздние привязки в комментариях:
Dim XMLHTTP As New MSXML2.XMLHTTP 'Microsoft XML, v6.0 'Set XMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
Dim ServerXMLHTTP As New MSXML2.ServerXMLHTTP 'Microsoft XML, v6.0 'Set ServerXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Dim http As New WinHttpRequest 'Microsoft WinHttp Services, version 5.1 'Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
У меня есть несколько старых макросов для очистки веб-страниц, которые использовали автоматизацию Internet Explorer. Я хотел очистить кодирование и ускорить их с помощью этих запросов.
К сожалению, что я заметил, MSXML2.ServerXMLHTTP
и WinHttpRequest
работают медленнее на интернет-магазине 20 тестов продуктов (34 и 35 секунд), чем автоматизация IE с изображениями и активными скриптами (24 сек)! MSXML2.XMLHTTP
выполняется через 18 секунд. Раньше я видел ситуации, когда некоторые из этих 3 запросов в 2-3 раза быстрее/медленнее, чем другие, поэтому я всегда проверяю, какой из них лучше всего работает, но никогда раньше не терялся запрос на автоматизацию IE.
Ниже приведена главная страница с результатами, все результаты на одной странице, более 1500+ из них, поэтому запрос занимает некоторое время (6500 страниц, если вставлено в MS Word):
www.justbats.com/products/bat type ~ baseball/? sortBy = TotalSales Descending & page = 1 & size = 2400
Затем я открываю отдельные ссылки на главной странице результатов:
http://www.justbats.com/product/2017-marucci-cat-7-bbcor-baseball-bat--mcbc7/24317/
Я хотел бы знать, есть ли у всех этих трех запросов все параметры, которые я должен получить с веб-сайтов без автоматизации браузера. Также - как, возможно, автоматизация браузера может выполнить некоторые из этих запросов?
UPDATE
Я проверил главную страницу результатов с процедурой, предоставленной в ответ Робин Маккензи, очищая кеш IE перед ее запуском. По крайней мере, на этой конкретной странице кэширование, казалось, не имело явного усиления, поскольку последующие запросы дали аналогичный результат. IE отключил активный сценарий и не загрузил изображения.
Метод автоматизации IE, Длина документа: 7593346 символов, Обработано в: 8 секунд
Метод WinHTTP, длина документа: 7824059 символов, обработано в: 29 секунд
XML HTTP-метод, длина документа: 7830217 символов, обработано в: 4 секунды
Сервер XML HTTP-метод, длина документа: 7823958 символов, обработано через: 26 секунд
URL-адрес файла файла, длина документа: 7830346 символов, обработано в: 7 секунд
Очень удивительно для меня разница в количестве символов, возвращаемых этими методами.