nodejs 實現 磁力連結資源搜尋 BT磁力連結爬蟲

MrWang發表於2019-02-16

專案簡介

  • 前端站點 專案效果預覽 http://findcl.com
  • 使用 nodejs 實現磁力連結爬蟲 磁力連結解析成 torrent種子資訊,儲存到資料庫,利用 Elasticsearch 實現中文檢索。koa2 搭建磁力連結搜尋引擎
  • 原始碼地址 https://github.com/ssstk/findcl
  • 後端指令碼 磁力連結獲取 磁力連結解析 入庫 Mongodb 定時同步 Elasticsearch
  • 原始碼地址 https://github.com/ssstk/mang…
  • 此專案僅用學習交流技術使用 不做商業用途。

上線

  • 2018-06-01 網站正式上線。暫時想不到什麼名字 各位大大可以推薦下哦。域名是 http://findcl.com
  • 兩臺 VPS (都是某些雲做活動買的 配置低)
  • 第一臺部署了 FindCl 站點本身( koa2、nginx )和單個節點的 Elasticsearch
  • 第二臺部署了磁力連結爬蟲 hashinfo 解析 入庫 Mongodb
  • Mongodb 資料庫在套路雲(目前有 300W 資料庫,每日新收錄 3W+的資料)

專案依賴

  • Mongodb
  • mongoose
  • Elasticsearch
  • nginx
  • koa2
  • vue
  • DHT BT 資源爬蟲 磁力連結解析 manget2torrent
  • crontab 定時執行 Mongodb 與 Elasticsearch 的資料同步

存在的問題

manget2torrent

  • 依賴的 dhtspider 爬蟲 長時間使用一個埠的時,由於 P2P 網路的特性,越來越多的節點來訪問 會導致頻寬跑滿(其主要是活動買的雲主機 1M 的),如果活力全開不做閒置 大概穩定在 10M 左右。解決方案就是 每次採集 5000 條不重複的磁力 hashindo 就暫停爬蟲,取解析獲取資訊。等小於 1000 條時候,再隨機埠開啟服務。
  • 解析磁力連結緩慢且成功率很低, 失敗的大概在 3 成左右且需要好幾秒

其他

有其他問題請新建issue交流。

相關文章