你写过 Web 爬虫, 那么你写过 P2P 爬虫吗?

CrazySpiderMan 发布于 2016/03/03 20:27
阅读 2K+
收藏 38

网络爬虫爱好者为了爬取视频, 图片, 文档, 软件, 可能只想到写一个 Web 爬虫, 从各大网站爬取. 但是你知道吗? 这个世界上, 还有 DHT 协议, BitTorrent 协议.

想想看, 全世界每天有那么多人通过 BT 种子 & 磁力链接下载资源(有你懂滴的资源), 如果写个爬虫, 从 DHT 网络里"监听"人们正在下载的资源, 然后把这个资源的种子信息给下载并保存下来. 打造成属于自己的海盗湾!

这几天, 我用 Node.js 重写了我去年用 Python 写出的 DHT 爬虫 + BT 客户端 = P2P 爬虫. 为什么用 Node.js 重写呢? 除了我闲得蛋疼外, 还有个原因是 Node.js 在这个 Network IO 操作频繁的项目上, 性能非常非常牛逼, 占用也非常少! 不过代码难写倒是真的. 我花了好多天才重写出来.

爬虫运行演示视频: http://v.youku.com/v_show/id_XMTQ4NTIzMDU2MA==.html

默认参数下, 在最便宜的日本区 Vultr VPS 运行 24 小时, 可”监听"到 50 万 个 BT 种子信息. 我那个 Python 版的爬虫(只开源一部分), 已经爬了 1400 万种子信息, 连续运行了一年多.

我平常下载资源, 都是从我私人种子数据库里搜索, 然后拿磁力链接去下载. 比如搜索引擎找不到的新电影, 我都能从我数据库找到.

代码在这里: https://github.com/Fuck-You-GFW/p2pspider (已有550 Star 了)

如果你觉得这项目有意思, 请点个 Star 呗.

如果你对此也有研究, 建议你看看 README.md, 列有这个项目如何发展的计划. 如果你对此感兴趣, 请 fork 它, 贡献你的智慧.

加载中
2
理工男海哥
理工男海哥
github 名字是亮点。
0
唐代de豆腐
唐代de豆腐
不知道什么意思?“想想看, 全世界每天有那么多人通过 BT 种子 & 磁力链接下载资源(有你懂滴的资源), 如果写个爬虫, 从 DHT 网络里"监听"人们正在下载的资源, 然后把这个资源的种子信息给下载并保存下来“”
0
曾建凯
曾建凯
看到:F**k-***-GFW,我顶你!
0
LeeNux
LeeNux
github马甲大亮!
0
会编程的坦克兵
会编程的坦克兵
github马甲大亮 有木有JAVA版的
0
CrazySpiderMan
CrazySpiderMan

引用来自“LeeNux”的评论

github马甲大亮!
为啥都把关注点放到我用户名上了, 这不是重点.
做个坏人
做个坏人
回复 @曾建凯 :我没看到你的shadowsocks 啊,在哪里,我要start
CrazySpiderMan
CrazySpiderMan
回复 @曾建凯 : 厉害呀, shadowsock 都能看得懂并定制
曾建凯
曾建凯
回复 @LeeNux : shadowsocks原作者被封停了,有些功能只好自己写,改shadowsocks代码的时候,满脑子都是f***-gfw。
LeeNux
LeeNux
因为用户名戳中的痛点,比你的p2p爬虫要来的痛
0
Damir
Damir
名字决定命运
0
CrazySpiderMan
CrazySpiderMan

引用来自“Damir”的评论

名字决定命运
我看不对, 我现在正在被 GFW 操.
Damir
Damir
对啊,取这个名字就表述了这个事实嘛,大家骂什么不就是啥嘛.
0
贝克街小分队
贝克街小分队
github头像也是个亮点。
0
Sonnet
Sonnet
马克一下吧
返回顶部
顶部