欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VBS 提取狗狗影视中的ED2K连接的实现代码

程序员文章站 2022-03-21 16:42:01
打开狗狗影视,搜索自己需要的资源,资源类型选:电驴,如下图:我找到一个 19.75gb 的:点开它,出现如下图的界面,可以看到正常下载地址已被屏蔽。我们复制地址栏中的网址,...
打开狗狗影视,搜索自己需要的资源,资源类型选:电驴,如下图:

VBS 提取狗狗影视中的ED2K连接的实现代码

我找到一个 19.75gb 的:

VBS 提取狗狗影视中的ED2K连接的实现代码

点开它,出现如下图的界面,可以看到正常下载地址已被屏蔽。我们复制地址栏中的网址,备用。

VBS 提取狗狗影视中的ED2K连接的实现代码

打开从本站下载的 vbs 脚本,复制该网址到输入框,然后确定,稍过一会,会出现提示完成的消息框,这个时间的长短由你的网速决定!

VBS 提取狗狗影视中的ED2K连接的实现代码

最后,我们得到最终的 ed2k 连接地址,全部保存在当前目录下的 ed2k.txt 文件中:

VBS 提取狗狗影视中的ED2K连接的实现代码

还等什么?打开你的下载工具,开始下载吧!^_^

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,欢迎向我反映!!