爱意满满的作品展示区。
lueying

nodejs 实现 磁力链接资源搜索 前端: vue 后端: koa2 + MongoDB + Elasticsearch

  •  
  •   lueying ·
    ssstk · Jun 20, 2018 · 5803 views
    This topic created in 3060 days ago, the information mentioned may be changed or developed.

    项目简介

    • 此项目仅用学习交流技术使用 不做商业用途。
    • 前端站点 项目效果预览 http://findcl.com
    • 源码地址 https://github.com/ssstk/findcl
    • 后端脚本 磁力链接获取 磁力链接解析 入库 Mongodb 定时同步 Elasticsearch
    • 源码地址 https://github.com/ssstk/manget2torrent
    • 无意读到 @keenwon 的 node 磁力搜索引擎的文章,感觉非常有意思,同时也谢谢能把项目分享出来 @keenwon 的项目地址antcolony 实现方式 还是有很大的不同 从获取磁力 到解析磁力

    上线

    • 2018-06-01 网站正式上线。域名是 http://findcl.com,
    • 两台 VPS (都是某些云做活动买的 配置低)
    • 第一台部署了 FindCl 站点本身( koa2、nginx )和单个节点的 Elasticsearch
    • 第二台部署了磁力链接爬虫
    • Mongodb 数据库在阿里云(目前有 300W 数据库,每日新收录 3W+的数据)

    项目依赖

    • DHT BT 资源爬虫 磁力链接解析 dhtspider
    • 前端站点 torrent-stream
    • Mongodb 数据库
    • 中文搜索 Elasticsearch.js
    • 定时执行 Mongodb 与 Elasticsearch 的数据同步
    • koa2
    • ...

    存在的问题

    • torrent-stream 解析磁力链接缓慢 需要好几秒 P2P 网络没有资源时还有可能解析不到
    • dhtspider 爬虫 由于服务器带宽是 1m 所以跑到时间长就把带宽跑慢了 现在的做法就是搜集一些磁力链接暂停爬虫 解析完毕之后再启动爬虫
    24 replies  •  2018-11-04 18:45:46 +08:00
    oska117
    oska117
    Jun 20, 2018 via Android
    1
    不错,谢谢分享,研究一下
    lueying
    lueying
    OP
    Jun 20, 2018
    2
    @oska117 大家一起学习交流
    isevenfox
    isevenfox
    Jun 20, 2018
    3
    star 一波~ 感谢
    lueying
    lueying
    OP
    Jun 20, 2018
    4
    @isevenfox 谢谢大哥支持
    freemagico
    freemagico
    Jun 20, 2018
    5
    已 star,请问爬虫是从哪里爬磁链的?
    lueying
    lueying
    OP
    Jun 20, 2018
    6
    @freemagico 这里是磁链到爬虫脚本 是加入 DHT 网络 获取到 hashinfo 附上 js 脚本地址 可以瞅瞅 跑跑试试
    https://github.com/ssstk/manget2torrent/blob/master/src/spider/index.js
    hezhile
    hezhile
    Jun 21, 2018❤️1
    7
    搜索结果的排序依据是什么呢?
    可以按照收录日期排序码?
    lueying
    lueying
    OP
    Jun 21, 2018
    8
    @hezhile 现在是 Elasticsearch 的自己查询的排序
    现在正在添加最新收录排序
    有问题欢迎建[issue]( https://github.com/ssstk/findcl/issues)交流。哇哈哈
    lueying
    lueying
    OP
    Jun 21, 2018
    9
    lueying
    lueying
    OP
    Jun 21, 2018❤️1
    10
    @hezhile 搜索结果 收录日期排序已经添加完成 上线 !谢谢大哥提的建议 😂 哇哈哈
    wanwan
    wanwan
    Jun 22, 2018
    11
    这类网站比较多啊。
    lueying
    lueying
    OP
    Jun 22, 2018
    12
    @wanwan 有什么好的建议或想法可以提出了哦 咱们可以和别人不一样的哦 ~.~
    我们不一样 ~~~
    artandlol
    artandlol
    Jun 23, 2018 via iPhone
    13
    Docker 化的项目更受欢迎
    lueying
    lueying
    OP
    Jun 23, 2018
    14
    @artandlol 谢谢大佬指点 我搞个发布上来就好了 ~
    artandlol
    artandlol
    Jun 23, 2018
    15
    @sstzma #14 过奖了,小菜一枚。 配合 https://www.v2ex.com/t/383801 这个使用 味道更佳
    Desiree
    Desiree
    Jun 23, 2018
    16
    请问这些数据是从哪里来的?
    lueying
    lueying
    OP
    Jun 23, 2018
    17
    @Desiree 是加入 DHT 网络 获取到 hashinfo 再解析 hsahinfo 获取 BT 种子信息 可以了解下 BitTorrent 协议
    这里是磁链到爬虫源码
    https://github.com/ssstk/manget2torrent/blob/master/src/spider/index.js
    duola
    duola
    Jun 24, 2018
    18
    @sstzma 请问一下,为什么要用两个数据库呢?直接用 Elasticsearch 不就行了吗?
    lueying
    lueying
    OP
    Jun 24, 2018
    19
    @duola ES 团队不推荐完全采用 ES 作为主要存储,缺乏访问控制还有一些数据丢失和污染的问题。ES 没有事务,而且是近实时。成本也比数据库高。但是它的优势在于索引后,方便搜索,这是 mongodb 等数据库干不了的。
    所以,搜索的时候使用 Elasticsearch,进入具体的资源页面,就直接从 mongodb 里取数据。
    当然 小项目玩玩 用什么感觉都无所谓了~
    duola
    duola
    Jun 24, 2018
    20
    @sstzma 这么详细回复,非常感谢!
    Desiree
    Desiree
    Jun 24, 2018
    21
    @sstzma 谢谢回复!
    jinzhe
    jinzhe
    Jun 26, 2018
    22
    搜索了下“藏”
    lueying
    lueying
    OP
    Jun 26, 2018
    23
    @jinzhe 网站所有的资源均来自网络收集,且不保存任何种子 。哇哈哈 ~.~
    sinv
    sinv
    Nov 4, 2018
    24
    @lueying findcl 挂了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5007 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 07:13 · PVG 15:13 · LAX 23:13 · JFK 02:13
    ♥ Do have faith in what you're doing.