[分享]你写过 Web 爬虫, 那么你写过 P2P 爬虫吗?

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

想一想看, 全世界天天有那么多人经过 BT 种子 & 磁力连接下载资源(有你懂滴的资源), 若是写个爬虫, 从 DHT 网络里"监听"人们正在下载的资源, 而后把这个资源的种子信息给下载并保存下来. 打形成属于本身的海盗湾! git

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

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

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

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

代码在这里: https://github.com/Fuck-You-GFW/p2pspider性能

求 Star !网站

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

若是你对 Node.js 比较熟练, 也欢迎你重构个人代码, 我对 Node.js 不是很熟, 代码写得不是很好.视频

若是有兴趣, 无论你是否是开发者, 可加 QQ 群即时交流: 145234507

相关文章
相关标签/搜索