Scrapy分布式爬虫打造搜索引擎 (一),开发环境安装

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

301fd3e9-0f85-4e2e-9543-38983b851598

可以实现数据库传输。这样就可以把本地的数据库传输到远端。

安装python

sudo apt-get install python3.5

可以指定版本安装python

然后通过python3进入python的对话窗口

12946953-f331-4873-beee-15a8ca9f2694

虚拟环境的安装和配置

为什么要用virutalenv

virtualenv 工具可以创建隔离的python环境。因为在开发两不同的程序的时候,怎样可能遇到,应用同样的库,但是版本却不一样的情况。所以virutalenv就是创建一个单独的环境,然后库将安装到自己目录下,不会和其他环境共享。

Windows环境下的安装

  • 安装虚拟环境
pip install virtualenv
  • 新建virutalenv
virtualenv scrapytest

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

  • 启动虚拟环境
    进入scrapytest/Scripts
    运行activate.bat

fa7012f8-528f-4fd7-99c3-c58c82ee04dc

  • 退出环境
    运行deactivate.bat

Linux环境下的安装

  • 安装虚拟环境
sudo apt-get install python-virtualenv
  • 新建virtualenv
virtualenv py2

注意目录结构与windows不太一样,是在bin下面。

78285f25-bb1e-4775-8d50-f52eb216333a

  • 启动虚拟环境
    通过source activate
    2b54cc1b-be14-4fee-afff-4db36715b959
  • 退出环境
    deactivate
  • 如果要安装python3的虚拟环境。
virtualenv -p /usr/bin/python3 py3

fa2834df-4fdf-4588-8215-2bcae6e152f0

virtualenvwrapper的安装

可以看出如果只通过virtuaenv来建立虚拟环境的话,每次必须进目录,然后通过脚本的形式来启动,非常的麻烦,所以我们可以使用virtualenv的wrapper包来进行管理。

windows下安装virutalenvwrapper

  • 安装 virtualenvwrapper工具包
pip install virtualenvwrapper-win
  • 修改所创建的虚拟环境的工作目录,否则所创建的虚拟环境,默认会放在C:\Users\用户名\Envs里面
    2488ff68-fe90-4f30-95ef-7a98474b11ec

其中变量名为workon_home,里面变量值可以自定义。
注意修改以后一定要关闭命令行窗口重新打开,否则修改的环境变量不会生效。

  • 然后可以创建虚拟环境
    使用mkvirutalenv py3scrapy创建虚拟环境
    38af461c-a060-478b-be93-2b4011da2c7a
    也可以指定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的结果将是这个样的。

2925294f-a0e3-4a04-a2e4-e43e2ed443e7
出现这个问题的因为Twisted等依赖的版本问题。

我们可以通过python的非官方库自己下载whl格式的包来进行安装
首先访问python非官方库这个网站。
310a1b90-7874-4b49-bebb-8535bace9aae

里面有大量的扩展包。

  • 安装wheel库
    这个可以使用pip install wheel进行安装
  • 安装Twisted
    在上述的网页里面搜索Twisted关键词可以找到。
    97388645-13f5-46da-b027-40e71a196ae3
    其中cp36表示python 3.6,amd64表示64位系统,所以按照这个规律选择与自己版本相同的包即可。

然后需要进入下载的目录,使用pip install Twisted-17.9.0-cp36-cp36m-win_amd64.whl进行安装
fdc949d9-2aff-41bb-8197-11aa797b4dce

  • scrapy依赖lxml包,还需要先安装lxml包,可以使用pip install lxml
  • 最后依然在之前的网站里面搜索Scrapy,找到
    b2d69bed-bb4d-405a-b92e-0d2b3b23dd39
    然后同样进入文件夹,打开命令窗口,执行

26c536e5-cff6-46b3-8c20-5a5cea03b313

  • 输入scrapy -h测试一下是否成功。
    bc17807d-da57-4dc2-a5e9-57f128111cf8
安装django

b6255ed5-0b62-411e-9b56-c6212ac9eac1

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

655ed02c-aecf-42b0-be40-10a3325c5bed

  • 创建目录用来存放虚拟环境,并export环境变量。
mkdir ~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
  • 需要source一下脚本进行启动。
source /usr/local/bin/virtualenvwrapper.sh

然后遇到了如下的问题,因为我目前的Linux里面安装了python2.7和python3.5
e31eb21a-85f3-46a3-b42d-697d74ba828a
所以执行

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

976dbfed-50d4-4de3-b77e-d7b580ad6070
此时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
也可以参见简书主页:https://www.jianshu.com/u/482f183ec380
原文地址:https://www.cnblogs.com/dy2903/p/8365434.html