讲述下关于自己实现一个磁力小站的感受。
这里不说原理,当然我也不懂,只是简单说下,如何快速的实现自己的资源库而已。
语言: nodejs
模块:p2pspider
https://github.com/chrunlee/dhtspider
代码很简单,依赖上述的模块,获得一些资源信息,然后将资源信息保存起来,以待后续查询即可。
var query = require('simple-mysql-query');
query({
host : 'localhost',
port : '3306',
user : 'root',
password : 'root',
database : 'items'
});
var count = 0;
var p2pspider = require('p2pspider');
p2pspider(function(data){
//将获得的信息存储在数据库中,以待后续在数据库中查询
//1.只保留
data.pieces =null;
var name = data.name,
size = data.size,
address = data.address,
port = data.port,
infohash = data.infohash,
magnet = data.magnet,
str = JSON.stringify(data);
//在保存前检索infohash,重复的不要
query({
sql : 'select count(1) as num from demo_magnet where infohash=? ',params : [infohash]
})
.then(rs=> {
var rst = rs[0];
var num = rst[0].num;
if(num > 0){
return 1;
}else{
return query({
sql : 'insert into demo_magnet (name,filesize,fileaddress,fileport,infohash,magnet,json,createTime) values (?,?,?,?,?,?,?,?)',
params : [name,size,address,port,infohash,magnet,str,new Date()]
});
}
}).then(rs=>{
if(rs != 1){
count++;
console.log(`共计获取信息:${count}条`);
}
}).catch(err=>{
console.log(err);
})
});
顺便说句,关于资源请谨慎处理,有很多是侵权的哦... 声明:以上仅供学习研究使用。
转载请注明出处: https://chrunlee.cn/article/about-dht-station.html