p2pspider打造私人种子库的DHT网络爬虫利器

2018-05-02 磁力链百科 0

开源代码:https://github.com/fanpei91/p2pspider

介绍

p2pspider 是一个 DHT 爬虫 + BT 客户端的结合体, 从全球 DHT 网络里"嗅探"人们正在下载的资源, 并把资源的metadata(种子的主要信息)从远程 BT 客户端下载, 并生成资源磁力链接. 通过磁力链接, 你就可以下载到资源文件.

English document

用途

你可以使用 p2pspider 打造私人种子库(比如: 海盗湾), 也可拿它做资源数据挖掘与分析。

使用

使用前, 请确保你的 node版本 >=0.12.0, 安装了依赖库( npm install), 然后执行 node index.js运行 p2pspider, 爬到的种子将会存在 torrents目录里。强烈建议使用 pm2cluster模式启动 p2pspider, 你将会看到什么叫疯狂的 p2pspider, 这将会以每小时几万种子爬取。建议在公网运行。 如需要在内网运行,那么需要在路由器设置端口(UDP)6881转发。

协议

bep_0005, bep_0003, bep_0010, bep_0009

感谢

在开发这个项目时, 从 bittorrent-protocolut_metadata借鉴了一些实现代码. 非常感谢其作者 @feross指点迷津.

提醒

不要拿这个爬虫爬取的数据分享到互联网, 因为很多敏感资源; **资源; 侵权资源. 否则后果自负喔. 如果真的开放了给别人, 也不要告诉我, 我他妈的不关心!

使用pm2运行p2pspider来爬行种子,速度非常快:

npm install -g pm2 #centos安装pm2服务
pm2 start /home/tools/nodejs/p2pspider/index.js --max-memory-restart 256M -i 2 -s #以2个进程限制256M内存运行p2pspider
pm2 stop all #停止所有pm2进程
pm2 monit #查看pm2进程运行状态
pm2 show index #查看index项目运行状态