这个包也不是什么高技术含量的东西,就是一个简单的爬虫,爬电影,不管什么电影,可以下载!
之所以犹豫,是因为,这次写的好像给我一种:空手套白狼的感觉。:(
通过这次,也让我感受到Node这异步编程的别扭,同时也学习到好多。慢慢学习成长吧:)
能不能说清楚点,你是输入一个一个磁力链接的网站地址,然后匹配一下递归一下爬出一堆链接,还是只输入关键字就能在迅雷的P2P网络中搜出一堆资源,如果是后者,我佩服你厉害,破解了迅雷的P2P协议了,如果是前者就不用公开了。
为什么要破解迅雷的协议呢?以前也研究过DHT协议,现在来说的话就是一个hash对应一个文件,通过hash构造的磁力链接就可以下载一个文件,我用C#简单的实现过,但是自己的能力有限DHT爬虫爬的不够深,而且出现过很多问题,但是最基本的资源可以找到。:)
@struCoder DHT协议我懂,以前就是研究这个的,DHT网络是不能支持模糊查询的,资源都有精确地hash值标示,我不清楚迅雷磁力链接的原理,如果是用DHT 查找难道迅雷的hash算法是用公开的md5之类的?那也不叫爬虫吧,就是随机乱查DHT网络的资源,却不能找到自己想要的资源
@dlutwuwei 怎么说呢,一个种子的一般对应20个字节的hash,但是这个hash是sha1算法得到的,我不知道你为什么和迅雷过不去,还是你被他刺激了,网路之间的节点的沟通,就是的四种请求,ping,find_node,get_peers,announce_peer.这些说白了都是字典型,要被编码才能真确处理,最后使用UDP协议发送。其它的我也不多说了,在这欢迎你的跟帖。:)
@struCoder 迅雷原来没开发自己的hash算法,分布式哈希表的原理我知道,我只是想知道你是怎么从节点获取到资源的,DHT网络的请求不应该会公开啊,迅雷的DHT协议一直都是闭源的啊,你使用迅雷客户端查找其他节点?:)