Поиск Google - Использование полосы пропускания (Msxml2.xmlhttp60 -vs- Msxml2.SERVER.xmlhttp) - PullRequest
0 голосов
/ 10 июля 2020

Работа с книгой VBA для архивирования результатов из Google. Следующий код может выполнять неограниченное количество поисков с интервалом примерно в одну секунду.

`Dim XMLHTTP As Object
`Dim HTML As Object
`Dim URL as string

`Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
`Set HTML = CreateObject("htmlfile")
`URL = https://www.google.com/search?q=Stack+Exchange

`XMLHTTP.SetRequestHeader "Content-Type", "text/xml"
`XMLHTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
`XMLHTTP.send

`HTML.body.innerhtml = XMLHTTP.ResponseText

Проблема заключается в слишком большом использовании полосы пропускания. Msxml2.SERVER.xmlhttp, похоже, извлекает ненужные данные, возможно, файлы изображений.

Msxml2.xmlhttp60 использует примерно на 80% меньше пропускной способности, чем Msxml2.SERVER.xmlhttp. Проблема в том, что примерно после 1000 поисков Google блокирует xmlhttp60. Этого не происходит при использовании SERVER.xmlhttp ...

...