Ubuntu 14.04 64bit上磁力链爬虫dht部署指南
首先聲明:
下面的源碼包改編來自github上老太太寫的一個"史上最簡單的DHT爬蟲“項目:
https://github.com/laomayi/simDHT
相關(guān)源碼在附件源碼包dht這個文件夾中,這個源碼使用python實現(xiàn),需要使用到mysql數(shù)據(jù)庫.
下面是源碼目錄下的文件,比較簡潔,log文件是剛才運行時創(chuàng)建的.
源碼包位于http://download.csdn.net/detail/tao_627/7682169
從dht.py源碼我們得知爬蟲會將爬取結(jié)構(gòu)輸入到mysql中,為此我們先要在mysql中
創(chuàng)建一個bt數(shù)據(jù)庫,在其中創(chuàng)建兩個InnoDB數(shù)據(jù)表bt_main_new,torrentdetail,
數(shù)據(jù)庫的用戶名是bt_user,密碼是5MKDfxmhmQDbSf,我們可以根據(jù)自己的需要在dht.py中的Master類中修改為我們的用戶名和密碼,為了簡單,我這里都改為root好了,
因為搭建LNMP時,我的MySQL用戶名和密碼就都設(shè)為root了.同時將數(shù)據(jù)庫名由bt改為dht.
vim dht.py
修改上述3處地方,改數(shù)據(jù)庫為dht, 用戶名和密碼為root.
為了后續(xù)管理數(shù)據(jù)庫方便,我們可以是Navicat for MySQL linux版本來訪問數(shù)據(jù)庫.
create database dht;
use bt;
show tables;
使用dht目錄下面的sql腳本來分別創(chuàng)建這兩個數(shù)據(jù)表
source /home/taoyx/program_develop/dht/bt_main_new.sql;
source /home/taoyx/program_develop/dht/TorrentDetail.sql;
exit;
接著安裝python下面的MySQL模塊
在python環(huán)境下面,默認(rèn)沒有安裝MySQLdb包,為此下面開始安裝.
從官網(wǎng)下面MySQL for Python源碼包
wget http://sourceforge.net/projects/mysql-python/files/latest/
或者
git clone https://github.com/farcepest/MySQLdb1.git
從源碼編譯,詳見下面的參考文獻(xiàn).這里不詳述了.
或者為了快速方便直接在Ubuntu下面使用
sudo apt-get install python-mysqldb
sudo yum install MySQL-python
然后,在命令行終端開啟腳本開始在dht網(wǎng)絡(luò)中搜集磁力鏈
python dht.py
下面是軟件截圖:
當(dāng)然,這里有些小warning或是error之類的,考慮是demo,可以忽略,因為原理是通的,我們也可以在開源的基礎(chǔ)上繼續(xù)修改完善.
下面是爬取日志記錄的infohash值
為了理解dht爬蟲原理,下面附了幾篇不錯的文章,可以結(jié)合python代碼和dht協(xié)議進(jìn)行理解.
參考文獻(xiàn)
[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
總結(jié)
以上是生活随笔為你收集整理的Ubuntu 14.04 64bit上磁力链爬虫dht部署指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu 14.04和CentOS
- 下一篇: 在Ubuntu 14.04 64bit上