微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dodder 注意 分布式 DHT 网络爬虫

程序名称:Dodder 注意

授权协议: GPL

操作系统: 跨平台

开发语言: Java

Dodder 注意 介绍

        ________      _________________
___  __ \___________  /_____  /____________
__  / / /  __ \  __  /_  __  /_  _ \_  ___/
_  /_/ // /_/ / /_/ / / /_/ / /  __/  /
/_____/ \____/\__,_/  \__,_/  \___//_/     一个支持集群部署的分布式 DHT 网络爬虫。

快速开始

https://dodder.cc

单机运行环境:

  • cpu: Intel Xeon E3-1230 v3 - 3.3 GHz - 4 core(s)
  • RAM: 32GB - DDR3
  • Hard Drive(s): 2x 1TB (HDD SATA)
  • Bandwidth: Unmetered @ 1Gbps

说明:项目中的dht-server、download-service、store-service都是可以集群部署的, dht- server负责爬取 DHT 网络中的 info_hash,然后写入到 Kafka 消息队列中去,download-service 负责读取
info_hash 信息到指定 ip 去下载种子文件Metadata(集群部署时,注意设置好 kafka 主题的分区数量, 分区数量 >=
服务部署个数)。下载好的 Metadata 解析出文件信息封装成 Torrent 对象写入 Kafka 的
torrentMessages主题中去,store-service负责读取 Torrent 存储到 Elasticsearch 中去。

去重:dht-server中使用Redis第一次进行拦截过滤,download-service查询Elasticsearch进行
二次判断去重,store-service中采用upsert进行第三次去重。实际上upsert已经完全可以进行去重了,
前面两次是用来减少下载次数,提升爬取的速度。

前面的环境全部搭好之后,clone 整个项目到本地,如果是集群部署请修改各个服务模块里面的一些 ip 地址参数,
我这里服务器有限,只拿了一台服务器单机部署,集群部署有问题的欢迎提 issue。

注意

dht-server 需要公网 IP 才能爬取到 info_hash

Dodder 注意 官网

https://dodder.cc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐