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

(0)

相关推荐

  • Linux命令行和shell脚本编程宝典 Richard Blum

    第一个脚本文件 复制代码 代码如下: #!/bin/bashecho "This is my first bash code!"exit 0 重定向符号和数学计算 复制代码 代码如下: #!/bin/bashecho -n "The time and date are: "datevalue1=100  #等号前后不允许出现空格value2=$value1echo -n "value1="echo $value1echo -n "val

  • Linux网络编程之socket文件传输示例

    本文所述示例程序是基于Linux平台的socket网络编程,实现文件传输功能.该示例是基于TCP流协议实现的socket网络文件传输程序.采用C语言编写.最终能够实现传输任何格式文件的文件传输程序. 具体实现代码如下: Server端代码如下: /************************************************************************* > File Name: Server.c > Author: SongLee ***********

  • Linux网络编程之UDP Socket程序示例

    在网络传输协议中,TCP协议提供的是一种可靠的,复杂的,面向连接的数据流(SOCK_STREAM)传输服务,它通过三段式握手过程建立连接.TCP有一种"重传确认"机制,即接收端收到数据后要发出一个肯定确认的信号,发送端如果收到接收端肯定确认的信号,就会继续发送其他的数据,如果没有,它就会重新发送. 相对而言,UDP协议则是一种无连接的,不可靠的数据报(SOCK_DGRAM)传输服务.使用UDP套接口不用建立连接,服务端在调用socket()生成一个套接字并调用bind()绑定端口后就可

  • Linux shell脚本编程if语句的使用方法(条件判断)

    if 语句格式if  条件then Commandelse Commandfi        别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi     if 的三种条件表达式 ifcommandthen if 函数then 命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配)if [ expression_r_r_r  ]then    表达式结果为真,则返回0

  • linux c多线程编程实例代码

    直接看代码吧,代码里有注释 复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h>#include <time.h>#define MAX 3 int number =0;pthread_t id[2];pthread_mutex_t mut; //初始化静态互斥锁 void thread1(void){    int i;  

  • linux多线程编程详解教程(线程通过信号量实现通信代码)

    线程分类 线程按照其调度者可以分为用户级线程和核心级线程两种. (1)用户级线程 用户级线程主要解决的是上下文切换的问题,它的调度算法和调度过程全部由用户自行选择决定,在运行时不需要特定的内核支持.在这里,操作系统往往会提供一个用户空间的线程库,该线程库提供了线程的创建.调度.撤销等功能,而内核仍然仅对进程进行管理.如果一个进程中的某一个线程调用了一个阻塞的系统调用,那么该进程包括该进程中的其他所有线程也同时被阻塞.这种用户级线程的主要缺点是在一个进程中的多个线程的调度中无法发挥多处理器的优势.

  • Linux下进行MYSQL编程时插入中文乱码的解决方案

    插入中文是乱码,尝试了许多方法,比如我先把vim里设置为:set fileencoding=utf-8不起作用,后来想想也对,和vim没什么关系 然后就尝试c#代码,用Encoding.UTF8.GetString()方法,后来也不对. 我就郁闷了,忽然想起来莫不是mysql的设置问题??? 于是,sudo nano /etc/mysql/my.cnf 插入下面红色代码,default-character-set = utf8,成功,不乱码了~~~根本不用什么Encoding..... # Th

  • Linux编程实现制作文件的ed2k链

    本程序依赖 c99, 只支持终端"标准输入",转换成的链接以"标准输出"而输出,错误以"标出错误输出"而输出. md4 编码代码来自网络. 编译命令:gcc -std=c99 -o ed2k md4.c  ed2k.c  utils.c 用户命令:ed2k <File...> 产生的链是最简短的形式:ed2k://|file|<FileName>|<FileSize>|<FileHash>|/ c+

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

    打开狗狗影视,搜索自己需要的资源,资源类型选:电驴,如下图: 我找到一个 19.75GB 的: 点开它,出现如下图的界面,可以看到正常下载地址已被屏蔽.我们复制地址栏中的网址,备用. 打开从本站下载的 VBS 脚本,复制该网址到输入框,然后确定,稍过一会,会出现提示完成的消息框,这个时间的长短由你的网速决定! 最后,我们得到最终的 ED2K 连接地址,全部保存在当前目录下的 ed2k.txt 文件中: 还等什么?打开你的下载工具,开始下载吧!^_^ GetEd2kLink.VBS 代码如下,你也

  • Java中Socket设置连接超时的代码分享

    前言 大家都知道Java的Socket如果连接不到指定IP和Port的主机,就会抛出IOException异常,而通常情况下,从连接到出现IOException会有一段不定的时长,就是所谓的超时时长,如果超时时长过长,在开发时会影响测试,如果代码成了产品,又会非常的影响用户体验,那么要怎么设置这个时长呢?下面来一起看看详细的介绍: Socket的类提供了一个方法: public void connect(SocketAddress endpoint, int timeout) throws IO

  • 使用python提取html文件中的特定数据的实现代码

    例如 具有如下结构的html文件 复制代码 代码如下: <div class='entry-content'> <p>感兴趣内容1</p> <p>感兴趣内容2</p> -- <p>感兴趣内容n</p> </div> <div class='content'> <p>内容1</p> <p>内容2</p> -- <p>内容n</p>

  • VBS中的字符串连接的性能问题

    当然,对于少量的字符串连接,效率并没有对程序造成多大影响,现在让我们考虑一个极端的问题:将1到100000之间的所有数字连接成一个字符串. 最简单的解决方案是直接使用&连接: 复制代码 代码如下: begin = Timer For i = 1 To 100000 str = str & CStr(i) Next WScript.Echo str finish = Timer WScript.Echo finish - begin 但是这个程序在我电脑上需要运行60.648秒,效率太低.换

  • 基于Python正则表达式提取搜索结果中的站点地址

    正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址. 这其中涉及几个需要解决的问题: 1.获取搜索的结果文本 为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果. 获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本 2.分析如何提取站点信息 首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息. 我使用IE8自带的开发工具(按F12就会弹出来

  • 数据库中的左连接(left join)和右连接(right join)区别

    Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接 where只影向右表,右连接where只影响左表. Left Join select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID 左连接后的检索结果是显示tbl1的所有数据和tbl2 中满足where 条件的数据. 简言之 Left Join影响到的是右边的表 Right Join select * from tbl1 R

  • java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat

  • Oracle中SQL语句连接字符串的符号使用介绍

    Oracle中SQL语句连接字符串的符号为|| 复制代码 代码如下: select catstr(tcdm) || (',') from T_YWCJ_RWCJR where cjrjh='009846' and rwid='12050' and jsdm='CJY' 拼接成一条数据并连接一个","

  • python中列表元素连接方法join用法实例

    本文实例讲述了python中列表元素连接方法join用法.分享给大家供大家参考.具体分析如下: 创建列表: >>> music = ["Abba","Rolling Stones","Black Sabbath","Metallica"] >>> print music 输出: ['Abba', 'Rolling Stones', 'Black Sabbath', 'Metallica']

  • JavaScript实现将数组中所有元素连接成一个字符串的方法

    本文实例讲述了JavaScript实现将数组中所有元素连接成一个字符串的方法.分享给大家供大家参考.具体如下: 下面的代码演示了JS中如何通过数组对象的join方法将数组元素连接成一个字符串输出 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to join the array elements into a string. </p> <butto

随机推荐