通过nodejs实现一个自己的磁力网站库

通过nodejs实现一个自己的磁力网站库

月光魔力鸭

2018-12-11 08:50 阅读 1304 喜欢 2 dht磁力 p2pspider

讲述下关于自己实现一个磁力小站的感受。

这里不说原理,当然我也不懂,只是简单说下,如何快速的实现自己的资源库而已。

工具

语言: nodejs 模块:p2pspider

不想看下面直接想要结果的请看github

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
我们项目一直在使用puppeteer 生成pdf ,整体的思路是没有问题的,而且在开发环境运行了好久了,但是部署后总会有各种各样的报错。各种so文件找不到等等 。
之前在知乎上有看到,基本上都是一致的,这里提供一个nodejs版本的针对微信内dat文件进行处理恢复为图片的方法。
关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下.. 最终做了个命令行小工具.. 问题不在这里,前一阵子做压缩的时候发现压缩后竟然是undefined.最终才发现是es6的语法问题。
介绍几个日常开发中常用的几个小工具: anywhere / anywhere-auth / watchlessc / changeext
分享一个自动抓取静态站资源的小工具,可以在抓取某个静态站点的时候方便很多,尤其是如果页面比较多的话,会很难受,而且会自动将资源进行归类,如果一个页面一个页面的保存的话,那就比较费劲了。
记录下通过nodejs调用imagemagick 的时候发现的一个错误,command failed -- crop .
在使用marked来做md解析的时候,部分解析规则可能并不是很如意,比如说,我在md中写了a标签,但是这些标签都是在当前页面替换的,而我想要的是新打开窗口。
对于开发来说,看到别人家的小程序都这么靓,这么顺畅,这么好用,用户又多... 自然是眼馋的..用户馋不来,可以先馋他的身子..啊不,代码啊。