使用VBS保存网页

时间:2013-05-18 22:42:23

标签: http browser vbscript

当我使用FireFox作为“https://twitter.com/search?q=vbs”时, 一切正常,我看到推文(没有登录)。但当 我尝试使用最简单的VBS脚本方式与XMLHTTP,似乎我 我被宣布为Twitter的移动用户,但我没有获得搜索结果。所以, 如何更改下面的VBS代码才能使其正常工作?原则上, 看起来我应该能够设置一些objXMLHTTP属性来欺骗 任何浏览器,但话说回来,微软可能不会给我这个 自由如此轻松。任何评论都会很棒!

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

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:1)

使用移动搜索页面是一种选择吗?

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