最近对 DHT 网络感兴趣,于是自己撸了个 DHT 爬虫

2016-05-09 20:55:31 +08:00
 beilun

自己撸的一个 nodejs 版 dht 爬虫,用来加入 dht 网络,获取 infohash ,代码见 gayhub.
gayhub: https://github.com/beilunyang/dhtCrawler
从昨天晚上 8 点开爬至今,已经用我 5 美刀的 DO vps 爬了 1200 多万 infohash 。。由于还没搞定 metadata 获取的代码,所以具体有多少真实种子还不知道(手工试了几个,发现获取率还挺高的)。 我遇到的问题,以及一些琐碎都已经在代码里注释了,欢迎对 dht 感兴趣的新人参考(大佬们,多给点意见( ⊙ o ⊙ )啊!)。

15117 次点击
所在节点    Node.js
21 条回复
xiaoyu9527
2016-05-09 21:07:12 +08:00
node js 比 python 还牛逼?
xiaoyu9527
2016-05-09 21:07:49 +08:00
求教使用教程
beilun
2016-05-09 21:14:21 +08:00
@xiaoyu9527 没用 python 写过,但光从 infohash 的获取来说,应该是 nodejs 要快。
beilun
2016-05-09 21:16:33 +08:00
@xiaoyu9527 见文档
congeec
2016-05-09 21:28:42 +08:00
>采用 nodejs 编写,由于 js 天生优秀的异步非阻塞 io 支持,无需向 python 等其他语言一样采用超时机制同步等待响应,所以速度非常快。

.....Python 也有协程,有 async/await 。原生支持异步。看看 uvloop 你就知道有多快
miyuki
2016-05-09 21:36:10 +08:00
注意蜜罐
miyuki
2016-05-09 21:42:32 +08:00
beilun
2016-05-09 21:48:50 +08:00
@congeec 已充电。。对 python 的了解并不多,只用过 python2 ,没接触过 python3, 在我映像中 python2 异步一般都是通过 twisted ,谢谢指正。
gamexg
2016-05-09 23:24:22 +08:00
Python + gevent 或者 golang ,代码直接按同步多线程写,语言自动转换成为异步协程,很省事。
ljcarsenal
2016-05-09 23:30:46 +08:00
有什么 dht 的入门资料?
beilun
2016-05-09 23:36:08 +08:00
@gamexg gevent 对 windows 的支持貌似不怎么好,而且 js 天生就是异步,觉得还是 js 更省事。 golang 完全没接触过(๑•ั็ω•็ั๑)
beilun
2016-05-09 23:40:43 +08:00
NullMan
2016-05-10 08:31:05 +08:00
http://github.com/Fuck-You-GFW/p2pspider

这个, 我写的, 可以获取 metadata, 也是 Node.js 写的, 1300+ star
Soar360
2016-05-10 08:52:32 +08:00
我大 C#使用异步之后会更快吧~
beilun
2016-05-10 09:15:36 +08:00
@NullMan 膜拜大角虫
neocanable
2016-05-10 09:42:22 +08:00
实现过一个 ruby 的,在国内非公网的 ip 上爬,并且拿到 infohash 在各个种子网站上下载,内容丰富~
beilun
2016-05-10 19:35:04 +08:00
@Soar360 期待 c#版
puorg
2016-12-02 22:15:35 +08:00
es2015 版本的 dht 爬虫 https://github.com/callmelanmao/p2pspider
buseni
2017-08-09 10:40:31 +08:00
不错,先学习了
DaTaoGe
2018-04-26 11:42:52 +08:00
您好,我测试了一下,速度确实很快,但是还没有成功解析一个了,我这里有一个 python 实现的,获取的能一多半解析吧,但是速度太慢了,想问下楼主,您现在还搞这个么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277443

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX