关于DHT协议

DHT协议作为BT协议的一个辅助,是非常好玩的。它主要是为了在BT正式下载时得到种子或者BT资源。传统的网络,需要一台中央服务器存放种子或者BT资源,不仅浪费服务器资源,还容易出现单点的各种问题,而DHT网络则是为了去中心化,也就是说任意时刻,这个网络总有节点是亮的,你可以去询问问这些亮的节点,从而将自己加入DHT网络。

要实现DHT协议的网络爬虫,主要分3步,第一步是得到资源信息(infohash,160bit,20字节,可以编码为40字节的十六进制字符串),第二步是确认这些infohash是有效的,第三步是通过有效的infohash下载到BT的种子文件,从而得到对这个资源的完整描述。

其中第一步是其他节点用DHT协议中的get_peers方法向爬虫发送请求得到的,第二步是其他节点用DHT协议中的announce_peer向爬虫发送请求得到的,第三步可以有几种方式得到,比如可以去一些保存种子的网站根据infohash直接下载到,或者通过announce_peer的节点来下载到,具体如何实现,可以取决于你自己的爬虫。

DHT协议中的主要几个操作:http://www.jb51.net/article/81188.htm

python实现bt下载器_使用Python编写基于DHT协议的BT资源爬虫相关推荐

  1. python小说下载器_【Python】DouBiNovel小说下载器V0.1.1(源码+成品)【失效待修复】...

    简单说明 之前在论坛发现一个很好的小说阅读站,可惜只能在线阅读,无法下载到本地,导出到电子书设备上.恰好最近在学python,于是就有了写一个下载器的想法. 但,对于初学菜鸟.又是初三学子的我,这又谈 ...

  2. python调用默认播放器_用Python批量下载MOOC资源

    简介 这是我编写的一个Python脚本,用来批量下载一门MOOC的资源,包括视频.PDF和课程目录. 你是否也曾上MOOC学习过?有没有和我一样遇到这些情况:在线看MOOC视频消耗流量好多,或者浏览器 ...

  3. python实现批量下载视频_利用Python实现批量下载腾讯视频!

    原标题:利用Python实现批量下载腾讯视频! 导语 利用Python下载腾讯非VIP视频,也就是可以免费观看的视频.做这个的起因是最近在看一个叫"请吃红小豆吧"的动漫,一共三分钟 ...

  4. python多线程下载器_用 python 实现一个多线程网页下载器

    学习之 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib, httplib import thread import time fr ...

  5. python写小说阅读器_用python实现自己的小说阅读器!

    前一段时间书荒的时候,在喜马拉雅APP发现一个主播播讲的小说-大王饶命.听起来感觉很好笑,挺有意思的,但是只有前200张是免费的,后面就要收费.一章两毛钱,本来是想要买一下,发现说的进度比较慢而且整本 ...

  6. python需要花钱下载吗_用Python下载知乎视频,非常实用

    原标题:用Python下载知乎视频,非常实用 Python下载知乎视频. # -*- coding: utf-8 -*- """ 下载知乎视频: 依赖: pip inst ...

  7. python计算时间装饰器_使用python装饰器计算函数运行时间的实例

    装饰器在python里面有很重要的作用, 如果能够熟练使用,将会大大的提高工作效率 今天就来见识一下 python 装饰器,到底是怎么工作的. 本文主要是利用python装饰器计算函数运行时间 一些需 ...

  8. python怎么批量下载年报_使用Python批量下载Wind数据库中的PDF报告

    原标题:使用Python批量下载Wind数据库中的PDF报告 背景 最近小编出于工作需要,准备在Wind金融数据终端批量下载上市公司2019年第一季度业绩预告.通过相关的条件检索,发现其相关数据有近百 ...

  9. python无水印下载视频_用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 首先,我 ...

最新文章

  1. java 数组a赋值给数组b_java编程将a,b数组中不同的数字保存到一个新的数组中
  2. kaldi windows安装_kaldi在Windows下的使用
  3. More Effective C++ (运算符)
  4. python txt转json_实战篇 | 用Python来找你喜欢的妹子(二)
  5. Mysql :removeAbandonedTimeout:180
  6. guava 的重试机制 guava-retrying 使用
  7. Cherno OpenGL 教程
  8. DAY 3 字符串、列表、字典练习 - 班级按成绩分组小程序快递分拣小程序
  9. Excel数据计数(count)
  10. Oracle 11G安装出错(Oracle执行先决条件检查失败)
  11. 如何用易语言做锁机软件
  12. 还不错的微信活码程序源码+功能强大
  13. luckysheet实现在线编辑Excel
  14. 送你一个励志故事(转载)
  15. mysql唯一key_MySQL唯一约束(UNIQUE KEY)
  16. 现代企业管理笔记——控制
  17. php 取消warning,php怎么关闭warning提示
  18. matlab实验八,matlab实验八
  19. python 串口时钟校对_基于MicroPython的自动网络时间校准器
  20. Watir自动化环境搭建

热门文章

  1. [业界] 关于诺基亚,上来吐槽两句埃洛普,顺便爆点料。
  2. 推挽电路原理“上P下N”及“上N下P”的区别
  3. 【C语言跬步积累】——分支和循环总汇
  4. android 联通时间同步,NTP时间同步技术在中国联通信息化中的应用
  5. dirac 是什么?
  6. 1. 医院的就诊流程是怎样的?
  7. 京东2019暑期实习面经
  8. citrify免费在线图片处理云软件
  9. java 最烧脑的继承题_多动脑不会老!最烧脑的10道智力题!答对5道算智商高!一起开动脑筋吧~...
  10. 身份认证(暴力破解基础)