Python写的dht爬虫,其中的一段代码看不懂

Python08

Python写的dht爬虫,其中的一段代码看不懂,第1张

python中没有三目运算,但是有点类似三目运算:

result if True / False else fresult if为真时候结果为result,为假的时候结果为fresult

例子:

result = 'test' if True else 'not test' # result = 'test'

result = 'test' if False else 'not test' # result = 'not test'

填入ip,如有root权限,就用root和相应的密码登陆

vps什么的可以升级系统组件之类的

复制内容剪贴板

代码:

apt-get update

apt-get upgrade

安装deluge之前需要先安装python,因为有root权限所以就不用sudo命令了,无root权限的话在下面代码前面要加上sudo

复制内容到剪贴板

代码:

apt-get install python python-twisted python-twisted-web2 python-openssl python-simplejson python-setuptools gettext intltool python-xdg python-chardet python-geoip python-libtorrent python-notify python-pygame python-gtk2 python-gtk2-dev librsvg2-dev xdg-utils python-mako

接着我们就要下载deluge了,在这里我安装的是deluge1.3.5

复制内容到剪贴板

代码:

wget http://download.deluge-torrent.org/source/deluge-1.3.5.tar.bz2

bzip2 -d deluge-1.3.5.tar.bz2

tar -xvf deluge-1.3.5.tar

cd deluge-1.3.5

python setup.py install --install-layout=deb

至此deluge安装完毕,输入

复制内容到剪贴板

代码:

cd

如果希望deluge开机运行则需要编辑/etc/rc.local,输入

复制内容到剪贴板

代码:

vi /etc/rc.local

然后在exit 0前面加上一行

复制内容到剪贴板

代码:

deluged deluge-web

就可以了。

然后运行deluge及webUI

复制内容到剪贴板

代码:

deluged

screen deluge-web

想看到deluge的情况,用本地浏览器访问

复制内容到剪贴板

代码:

http://远程服务器的ip:8112

第一次登陆需要输入密码,默认密码为deluge,进入后修改就可以了。

下面就要对deluge进行设置了

1.路径设置

2.网络

这个设置的关键是一定不要勾选dht

3.加密传输

这个如果想达到禁迅雷的效果的话应该是选用enable

4.带宽管理

5.界面设置

6.其他

7.daemon

貌似是可以进行虚拟管理的东西,如有不对请指正

8.任务队列

不要设太低,超过设置的任务数的任务会停止下载/上传

9.代理服务器设置

10.缓存设置

我的理解是想要设置的缓存换算为KB然后除以16

11.插件管理

貌似我安装的deluge有点小问题,没有显示那些自带的插件

在学校的话,最重要的插件是blocklist了,用于过滤ip,以免连接到校外ipv4产生不必要的流量。

DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法,一类可由键值来唯一标示的信息按照某种约定/协议被分散地存储在多个节点上,这样也可以有效地避免“中央集权式”的服务器(比如:tracker)的单一故障而带来的整个网络瘫痪,实现DHT的技术/算法有很多种,常用的有:Chord, Pastry, Kademlia等。我们这里要研究的是Kademlia算法,因为BT及BT的衍生派(Mainline, Btspilits, Btcomet, uTorrent…),eMule及eMule各类Mods(verycd, easy emules, xtreme…)等P2P文件分享软件都是基于该算法来实现DHT网络的,BT采用Python的Kademlia实现叫作khashmir(科什米尔),官网如下所示。eMule采用C++的Kademlia实现干脆就叫作Kad,当然它们之间有些差别,但基础都是Kademlia