VBS 提取狗狗影视中的ED2K连接的实现代码
我找到一个 19.75gb 的:
点开它,出现如下图的界面,可以看到正常下载地址已被屏蔽。我们复制地址栏中的网址,备用。
打开从本站下载的 vbs 脚本,复制该网址到输入框,然后确定,稍过一会,会出现提示完成的消息框,这个时间的长短由你的网速决定!
最后,我们得到最终的 ed2k 连接地址,全部保存在当前目录下的 ed2k.txt 文件中:
还等什么?打开你的下载工具,开始下载吧!^_^
geted2klink.vbs 代码如下,你也可以直接下载 geted2klink:
on error resume next
sourceurl = inputbox( _
vbcrlf & "提取完成后您将收到一个提示。这个过程中" & vbcrlf & _
vbcrlf & "请耐心等待,文件结果保存在:ed2k.txt" & vbcrlf & _
vbcrlf & "请输入链接地址:" & vbcrlf, "get ed2k link", "http://" _
)
if sourceurl = "" or sourceurl = "http://" then
msgbox "链接地址不能为空!", 48, "get ed2k link"
wscript.quit(1)
end if
'获取网页源码
set objhttp = createobject("microsoft.xmlhttp")
objhttp.open "get", sourceurl, false
objhttp.send
sourcecode = split(codeconver(objhttp.responsebody), chr(10))
'分析网页源码
for i = 0 to ubound(sourcecode)-lbound(sourcecode)
matchline = instr(sourcecode(i), "ed2k://|file|")
if matchline <> 0 then
arrpub = split(replace(sourcecode(i), "},{", "}#{"), "#")
for k = 0 to ubound(arrpub)-lbound(arrpub)
ed2klink = ed2klink & split(split(arrpub(k), ",")(5), """")(3) & vbcrlf
next
end if
next
'保存结果
if ed2klink = "" then
msgbox "该网页中找不到任何 ed2k 连接!", 48, "get ed2k link"
wscript.quit(2)
else
set objfso = createobject("scripting.filesystemobject")
objfso.opentextfile("ed2k.txt", 8,true).write(ed2klink)
end if
msgbox "已完成全部作业!", 64, "get ed2k link"
wscript.quit(0)
function codeconver(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
codeconver = strreturn
end function
仅供测试,如发现任何 bug,欢迎向我反映!!