百度空间备份脚本baidublogbak.vbs代码分析
时间:2020-07-24 12:03 来源/作者:VBS教程网
-
'用法示例:
-
'cscript bak.vbs 百度用户名 第I页 至第n页 目录列表.htm 用户名 密码
-
'例如我的blgo示例:
-
'cscript baidublogbak.vbs myvbscript 0 3 url.htm myvbscript mima
-
'表示从第0页备份到第3页,blog的共有页数打开http:
-
'注意的是百度是从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
相关文章
热门资讯