首页 > Ubuntu 14.04 64bit上磁力链爬虫dht部署指南

Ubuntu 14.04 64bit上磁力链爬虫dht部署指南

Help-->Eclipse Ma

-->

首先声明:

下面的源码包改编来自github上老太太写的一个"史上最简单的DHT爬虫“项目:

https://github.com/laomayi/simDHT

相关源码在附件源码包dht这个文件夹中,这个源码使用python实现,需要使用到mysql数据库.

下面是源码目录下的文件,比较简洁,log文件是刚才运行时创建的.

源码包位于http://download.csdn.net/detail/tao_627/7682169



为此我们需要先搭建一个LNMP环境, 或者更简单点,只安装一个MySQL数据库.

从dht.py源码我们得知爬虫会将爬取结构输入到mysql中,为此我们先要在mysql中

创建一个bt数据库,在其中创建两个InnoDB数据表bt_main_new,torrentdetail,

数据库的用户名是bt_user,密码是5MKDfxmhmQDbSf,我们可以根据自己的需要在dht.py中的Master类中修改为我们的用户名和密码,为了简单,我这里都改为root好了,

因为搭建LNMP时,我的MySQL用户名和密码就都设为root了.同时将数据库名由bt改为dht.

vim dht.py

修改上述3处地方,改数据库为dht, 用户名和密码为root.

为了后续管理数据库方便,我们可以是Navicat for MySQL linux版本来访问数据库.



下面开始创建相关表格

create database dht;

use bt;

show tables;

使用dht目录下面的sql脚本来分别创建这两个数据表

source /home/taoyx/program_develop/dht/bt_main_new.sql;

source /home/taoyx/program_develop/dht/TorrentDetail.sql;

exit;





接着安装python下面的MySQL模块

在python环境下面,默认没有安装MySQLdb包,为此下面开始安装.

从官网下面MySQL for Python源码包

wget http://sourceforge.net/projects/mysql-python/files/latest/

或者

git clone https://github.com/farcepest/MySQLdb1.git

从源码编译,详见下面的参考文献.这里不详述了.



或者为了快速方便直接在Ubuntu下面使用

sudo apt-get install python-mysqldb



在CentOS上使用

sudo yum install MySQL-python

然后,在命令行终端开启脚本开始在dht网络中搜集磁力链

python dht.py

下面是软件截图:



当然,这里有些小warning或是error之类的,考虑是demo,可以忽略,因为原理是通的,我们也可以在开源的基础上继续修改完善.

下面是爬取日志记录的infohash值



为了理解dht爬虫原理,下面附了几篇不错的文章,可以结合python代码和dht协议进行理解.



参考文献

[1].http://www.cnblogs.com/rollenholt/archive/2012/05/07/2487137.html

[2].http://blog.csdn.net/samxx8/article/details/6285013

[3].http://blog.csdn.net/wklken/article/details/7271019

[4].http://www.cppblog.com/kevinlynx/archive/2013/05/19/200410.html

[5].http://blog.csdn.net/mergerly/article/details/7989281

更多相关:

  • 上一次我在Ubuntu 16.04.3 LTS上从源码安装了Go,当时最新的版本是1.10,参见我之前的博文 https://blog.csdn.net/tao_627/article/details/79375950 这里,我想将Go更新到现在的最新版本,下面是我的折腾过程,很简单,只需要替换Go语言的源码文件就可以了。 从G...

  • Mastering Algorithm with C是一本非常经典和独具个性的算法书,主要是从程序员的角度,对算法领域的基本内容,通过C语言进行源码实现,其附带的源码非常详细,对初接触这个领域的程序员很有参考价值.我特地将该书源码的使用方法做了笔记,放在这样,以便日后参考. 下面是该书的封面: 1.首先从OReilly...

  • 进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph-12.1.1-0.el7.src.rpm 等待它执行到configuring done之后就强行终止 -- Found cytho...

  • spring源码开始的时候是通过SVN来管理代码的,后来是转移到github上管理源码的,可以通过在github上直接下载spring的源码。 下面讲解如何通过在eclipse上的插件git来获取spring源码的 主要步骤如下: 1、首先需要在Eclipse中安装git的插件,在Eclipse-->Help-->Eclipse Ma...