2013-05-18 2 views
0

Когда я использую FireFox для «https://twitter.com/search?q=vbs», все работает хорошо, и я вижу твиты (без регистрации). Но, когда я пытаюсь использовать простейший способ VBS-скриптинга с XMLHTTP, мне кажется, что я объявляю мобильным пользователям щебетать, и я не получаю результаты поиска. Итак, Как я могу изменить свой код VBS ниже, чтобы сделать эту работу? В принципе, кажется, что я должен был бы установить некоторое свойство objXMLHTTP для обмана любого браузера, но, опять же, Microsoft, вероятно, не давала бы мне эту свободу . Любые комментарии были бы замечательными!Сохраните веб-страницу с VBS

strFileURL = "https://twitter.com/search?q=vbs" 
strHDLocation = "C:\Users\me\webpages\saved_tweets.html" 
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
objXMLHTTP.open "GET", strFileURL, false 
objXMLHTTP.send() 
if objXMLHTTP.Status = 200 then 
    Set objADOStream = CreateObject("ADODB.Stream") 
    objADOStream.Open 
    objADOStream.Type = 1 
    objADOStream.Write objXMLHTTP.ResponseBody 
    objADOStream.Position = 0 
    Set objFSO = Createobject("Scripting.FileSystemObject") 
    if objFSO.Fileexists(strHDLocation) then objFSO.DeleteFile strHDLocation 
    Set objFSO = Nothing 
    objADOStream.SaveToFile strHDLocation 
    objADOStream.Close 
    Set objADOStream = Nothing 
end if 
Set objXMLHTTP = Nothing 
+0

AFAIK VBScript работает только в IE. – Renan

+1

«IE vs Firefox» здесь неактуальен (и я только что подтвердил, что IE показывает результаты поиска так же, как Firefox с приведенной выше ссылкой). На самом деле я не хочу использовать ни одного, а VBS, и это вопрос моего вопроса. – bobuhito

ответ

2

Может быть, вы могли бы фальшивый пользовательский агент (браузер) в вашем запросе HTTP, так что Twitter будет рассматривать ваш браузер как настольный компьютер с чем-то вроде этого:

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
objXMLHTTP.open "GET", strFileURL, false 
objXMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0" 
objXMLHTTP.send() 
+0

Запрос должен быть открыт до того, как заголовок запроса может быть установлен. С этим изменением выше, похоже, работает, хотя это не произошло, когда я попробовал то же самое с немного другим пользовательским агентом вчера. Weird. –

+0

Thx для исправления, я обновил свой ответ – MaxiWheat

1

Возможно ли использование мобильной страницы поиска?

strFileURL = "https://mobile.twitter.com/search?q=vbs" 
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
objXMLHTTP.open "GET", strFileURL, false 
objXMLHTTP.send 
+0

Хорошо, спасибо, я полагаю, они такие же и просто проверили, что ваш VBS действительно работает. Но я боюсь, что мобильная версия может каким-то образом урезать результаты, поэтому мне все равно хотелось бы оставить этот вопрос открытым на несколько дней, чтобы узнать, есть ли способ пошатнуть браузер. – bobuhito

Смежные вопросы