1. 程式人生 > >Scrapy分布式爬蟲打造搜索引擎 (一),開發環境安裝

Scrapy分布式爬蟲打造搜索引擎 (一),開發環境安裝

req per 分布式 apt fff mkdir bootstra ble douban

Technorati 標簽: 分布式爬蟲

Linux環境下安裝mysql

sudo apt-get install mysqlserver

然後可以查看是否啟動

ps aux | grep mysqld

登錄

mysql -uroot -proot
?

如何讓虛擬機中的mysql被外界訪問到。

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 

裏面的bind-address需要修改

可以把此監聽地址改為0.0.0.0
然後重啟服務

sudo service mysql restart

還必須對root用戶授權,

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘root‘ with grant option;
flush privileges;

%表示所有的IP。也就是所有IP只要是通過root用戶過來的。密碼是‘root‘都可以訪問所有表。

創建數據庫的時候需要把字符集選為UTF8

技術分享圖片

可以實現數據庫傳輸。這樣就可以把本地的數據庫傳輸到遠端。

安裝python

sudo apt-get install python3.5

可以指定版本安裝python

然後通過python3進入python的對話窗口

技術分享圖片

虛擬環境的安裝和配置

為什麽要用virutalenv

virtualenv 工具可以創建隔離的python環境。因為在開發兩不同的程序的時候,怎樣可能遇到,應用同樣的庫,但是版本卻不一樣的情況。所以virutalenv就是創建一個單獨的環境,然後庫將安裝到自己目錄下,不會和其他環境共享。

Windows環境下的安裝

  • 安裝虛擬環境
pip install virtualenv
  • 新建virutalenv
virtualenv scrapytest

如果要指定版本,可以使用virtualenv -p python的路徑 scrapytest

  • 啟動虛擬環境
    進入scrapytest/Scripts
    運行activate.bat

技術分享圖片

  • 退出環境
    運行deactivate.bat

Linux環境下的安裝

  • 安裝虛擬環境
sudo apt-get install python-virtualenv
  • 新建virtualenv
virtualenv py2

註意目錄結構與windows不太一樣,是在bin

下面。

技術分享圖片

  • 啟動虛擬環境
    通過source activate
    技術分享圖片
  • 退出環境
    deactivate
  • 如果要安裝python3的虛擬環境。
virtualenv -p /usr/bin/python3 py3

技術分享圖片

virtualenvwrapper的安裝

可以看出如果只通過virtuaenv來建立虛擬環境的話,每次必須進目錄,然後通過腳本的形式來啟動,非常的麻煩,所以我們可以使用virtualenv的wrapper包來進行管理。

windows下安裝virutalenvwrapper

  • 安裝 virtualenvwrapper工具包
pip install virtualenvwrapper-win
  • 修改所創建的虛擬環境的工作目錄,否則所創建的虛擬環境,默認會放在C:\Users\用戶名\Envs裏面
    技術分享圖片

其中變量名為workon_home,裏面變量值可以自定義。
註意修改以後一定要關閉命令行窗口重新打開,否則修改的環境變量不會生效。

  • 然後可以創建虛擬環境
    使用mkvirutalenv py3scrapy創建虛擬環境
    技術分享圖片
    也可以指定python.exe的路徑(比如在同一臺PC上既安裝了python2.7又安裝了python3.5,此時可以指定用那個pyhon.exe了)
mkvirtualenv --python=python的exe文件 py3scrapy
  • 可以在虛擬環境中安裝庫,此時安裝 request
 pip install -i https://pypi.douban.com/simple scrapy
安裝Scrapy

為什麽把安裝Scrapy單列出來講,因為如果直接使用pip install -i https://pypi.douban.com/simple scrapy的結果將是這個樣的。

技術分享圖片
出現這個問題的因為Twisted等依賴的版本問題。

我們可以通過python的非官方庫自己下載whl格式的包來進行安裝
首先訪問python非官方庫這個網站。
技術分享圖片

裏面有大量的擴展包。

  • 安裝wheel庫
    這個可以使用pip install wheel進行安裝
  • 安裝Twisted
    在上述的網頁裏面搜索Twisted關鍵詞可以找到。
    技術分享圖片
    其中cp36表示python 3.6,amd64表示64位系統,所以按照這個規律選擇與自己版本相同的包即可。

然後需要進入下載的目錄,使用pip install Twisted-17.9.0-cp36-cp36m-win_amd64.whl進行安裝
技術分享圖片

  • scrapy依賴lxml包,還需要先安裝lxml包,可以使用pip install lxml
  • 最後依然在之前的網站裏面搜索Scrapy,找到
    技術分享圖片
    然後同樣進入文件夾,打開命令窗口,執行

技術分享圖片

  • 輸入scrapy -h測試一下是否成功。
    技術分享圖片
安裝django

技術分享圖片

Linux下安裝virtualenvwrapper

  • 安裝virutalenvwrapper
    註意要加sudo
sudo pip install -i https://pypi.douban.com/simple virtualenvwrapper

安裝成功之後,不能直接像windows一樣進行mkvirtualenv,因為還有很多東西沒有進行配置。

需要先找到virtualenvwrapper.sh的位置。
所以

sudo apt-get install locate
updatedb
locate virtualenvwrapper.sh

技術分享圖片

  • 創建目錄用來存放虛擬環境,並export環境變量。
mkdir ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
  • 需要source一下腳本進行啟動。
source /usr/local/bin/virtualenvwrapper.sh

然後遇到了如下的問題,因為我目前的Linux裏面安裝了python2.7和python3.5
技術分享圖片
所以執行

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

技術分享圖片
此時virtualenvwrapper就可以使用了。

命令列表如下:

含義

workon,lsvirtualenv

workon [虛擬環境名稱]

mkvirtualenv

rmvirtualenv

deactivate

  • 新建python3的虛擬環境
mkvirtualenv --python=/usr/bin/python3 py3scrapy
  • 安裝request等包
安裝scrapy
  • 首先安裝依賴:
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • 如果使用的是python3的版本還需要安裝
sudo apt-get install python3 python3-dev
  • 最後安裝scrapy
pip install -i https://pypi.douban.com/simple  scrapy
安裝django

首先需要安裝pip3

 wget https://bootstrap.pypa.io/get-pip.py
 sudo python3 get-pip.py
 sudo python get-pip.py#安裝python2.7的pip
 pip -V  #查看pip版本

然後

sudo pip3 install -i https://pypi.douban.com/simple django

Scrapy分布式爬蟲打造搜索引擎 (一),開發環境安裝