橘汁仙剑网

标题: 百度blog备份脚本 [打印本页]

作者: xianjian    时间: 2008-8-28 20:32
标题: 百度blog备份脚本

百度blog备份脚本baidublogbak.vbs
'=================================================================

'用法示例:
'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

[ 本帖最后由 xianjian 于 2008-8-28 20:33 编辑 ]
作者: 御剑飞行    时间: 2008-8-28 20:36
看不懂
作者: 大兴    时间: 2008-8-28 21:07
只能用于百度空间?




欢迎光临 橘汁仙剑网 (https://ojpal.com/) Powered by Discuz! X3.3