百度空间备份脚本baidublogbak.vbs代码分析
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
''用法示例: ''cscript bak.vbs 百度用户名 第I页 至第n页 目录列表.htm 用户名 密码 ''例如我的blgo示例: ''cscript baidublogbak.vbs myvbscript 0 3 url.htm myvbscript mima ''表示从第0页备份到第3页,blog的共有页数打开http://hi.baidu.com/用户名/blog/index/0就可以看到了。url.htm存放的是目录列表 ''注意的是百度是从0页计数的 ''如果用户名和密码随便写也可以备份,但是无法备份私有文档 ''推荐几页几页备份,最好建单独一个目录将bak.vbs放进去,会在当前目录生成mht文档。因为有的网络原因,有的无法成mht,请对照url.htm目录列表检查 ''==================================================================================================== On Error Resume next if (lcase(right(wscript.fullname,11))="wscript.exe") then wscript.echo "Execute it under the cmd.exe Plz! Thx." wscript.quit end if Const adSaveCreateNotExist = 1 Const adSaveCreateOverWrite = 2 Const adTypeBinary = 1 Const adTypeText = 2 Set args = WScript.Arguments if args.Count = 0 then WScript.Echo "Usage: CScript baidublogbak.vbs blogname i n url.htm username password" WScript.Quit 1 end If Set objMessage = CreateObject("CDO.Message") Set ie=WScript.CreateObject("InternetExplorer.Application") ie.visible=true ie.navigate "http://passport.baidu.com/?login" Do Wscript.Sleep 200 Loop Until ie.ReadyState=4 ie.document.getElementById("username").value=args.Item(4) ie.document.getElementById("password").value=args.Item(5) tj=ie.document.getElementsBytagname("form") tj.submit WScript.Sleep 10000 Sub SaveToFile(Msg, Fn) Dim Strm, Dsk Set Strm = CreateObject("ADODB.Stream") Strm.Type = adTypeText Strm.Charset = "gb2312" Strm.Open Set Dsk = Msg.DataSource Dsk.SaveToObject Strm, "_Stream" Strm.SaveToFile Fn, adSaveCreateOverWrite End Sub For n=args.Item(1) To args.Item(2) Step 1 url="http://hi.baidu.com/"&args.Item(0)&"/blog/index/"&n ie.Navigate url ie.visible=false While ie.Busy WScript.Sleep 100 Wend Do Wscript.Sleep 200 Loop Until ie.ReadyState=4 wscript.echo "正保存第"&n&"页" Wscript.Sleep 3000 For i=0 To ie.Document.links.length-1 If InStrRev(ie.Document.links(i).href,"blog/item/",-1,1)<> 0 And InStrRev(ie.Document.links(i).innerText,"浏览",-1,1)= 0 And InStrRev(ie.Document.links(i).href,"#comment",-1,1)= 0 And InStrRev(ie.Document.links(i).href,"cmtid",-1,1)= 0then wscript.echo ie.Document.links(i).href &"||"&ie.Document.links(i).innerText CreateObject("Scripting.FileSystemObject").OpenTextFile(args.Item(3),8,True,0).WriteLine(ie.Document.links(i).href &"||"&ie.Document.links(i).innerText) objMessage.CreateMHTMLBody ie.Document.links(i).href SaveToFile objMessage, ie.Document.links(i).innerText&".mht" End if Next next ie.quit Set ie=nothing |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于百度空间备份脚本baidublogbak.vbs代码分析的所有评论