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

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

想想看, 全世界每天有那么多人通过 BT 种子 & 磁力链接下载资源, 如果写个爬虫, 从 DHT 网络里"监听"人们正在下载的资源, 然后把这个资源的种子信息给下载并保存下来. 打造成属于自己的私人海盗湾! 也可用来进行数据挖掘与分析.

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

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

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

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

代码在这里: https://github.com/Fuck-You-GFW/p2pspider    (请忽略我的 github 用户名)

如果你觉得此项目有趣的话, 请到 github 点个 Star! (目前已有接近 700 Star 了)

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

 

感谢! 承蒙各位的赏识, 此开源项目上了 github 的 JavaScript 编程语言日榜第三, 所有编程语言日榜第十. 榜单地址如下:
https://github.com/trending/javascript?since=daily

https://github.com/trending?since=daily

 

各位, 你们要是拿去做了有趣不犯法的玩意儿后, 记得给我发邮件让我围观下, 邮箱看我 github.

 

注意: 不能拿此项目爬来的数据去干违法活动, 否则后果自负, github上我也声明了这个.

你可能感兴趣的:(你写过 Web 爬虫, 那么你写过 p2p 爬虫吗?)