CentOS 7系统 安装scrapy爬虫框架

若是新环境要先安装GCC库:yum install gcc

1. 安装python3

  • 下载python3的安装包
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
  • 安装编译需要的关联库
# 安装 zlib zlib-devel 
yum install -y zlib zlib-devel   

# 安装C编译器
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel

# 安装sqlite-devel (不安装的话有时会报错builtins.ModuleNotFoundError: No module named '_sqlite3')
yum install sqlite-devel
  • 解压,编译,安装
#解压
tar -zxvf Python-3.6.3.tgz
#进入解压后的目录
cd Python-3.6.3
#编译
./configure --prefix=/usr/local/python3   (prefix表示安装的路径,我安装在/usr/local中,也可以安装其他地方)
#安装
make && make install
  • 创建python3的软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
(软连接的文件名不要用python,因为python已经指向了python2.7)
  • 创建pip3的软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
  • 现在就可以在命令行中直接输入python3来打开python3的shell,也可以直接使用pip3下载python3的库。

2. 创建python3的虚拟环境

  • 下载virtulenv   (若是创建不成功或是报错的话就先执行第3步中配置pip安装源为阿里云)
pip3 install virtualenv
  • 创建virtulenv软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
  • 创建虚拟环境
在命令行直接输入:
virtualenv 路径/虚拟环境名 -p /usr/bin/python3
  • 进入虚拟环境
#cd进入虚拟环境的目录
source ./bin/activate
  • 退出虚拟环境
#在命令行输入
deactivate

 3.在python3虚拟环境中安装scrapy框架

  • 先进入python3的虚拟环境 (source ./bin/activate)
  • 安装pip包管理
yum install -y python-pip
  • 配置pip安装源为阿里云 http://mirrors.aliyun.com/help/pypi。
  • 我觉得这是天朝必备的一个步骤,否则安装软件那龟速不忍直视。
mkdir ~/.pip
vim ~/.pip/pip.conf


# 改为如下内容
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com
  • 安装编译器和开发库之类的,假如你们也没安装的话
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel

 如遇以下情况:

(py3) [root@192 /]# yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
已加载插件:fastestmirror, langpacks
/var/run/yum.pid 已被锁定,PID 为 3371 的另一个程序正在运行。
Another app is currently holding the yum lock; waiting for it to exit...
  另一个应用程序是:PackageKit
    内存: 92 M RSS (1.4 GB VSZ)
    已启动: Mon Dec  3 21:15:32 2018 - 04:17之前
    状态  :睡眠中,进程ID:3371

请执行下面一句:

rm -rf  /var/run/yum.pid

再重新执行:

yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
  • 安装主角Scrapy
pip3 install scrapy

 可能会报错:

 Could not find a version that satisfies the requirement Twisted>=13.1.0 (from scrapy) (from versions: )
No matching distribution found for Twisted>=13.1.0 (from scrapy)

 原因是没有安装Twisted 

通过
wget https://twistedmatrix.com/Releases/Twisted/18.7/Twisted-18.7.0.tar.bz2 获取
然后
tar -xjvf Twisted-18.7.0.tar.bz2 进行解压 
注意在解压是可能会遇到
tar (child): lbzip2: Cannot exec: No such file or directory 
tar (child): Error is not recoverable: exiting now 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now的错误
这是因为你没有安装bzip2
通过 
yum -y install bzip2 命令安装一下就好了 
解压之后
cd Twisted-18.7.0 到目录下
通过 
python3 setup.py install 指令进行安装 
最后直接进行 
pip install scrapy 进行scrapy安装就行了
  • 安装MySQL-python
  • Python连接MySQL的模块
easy_install MySQL-python
  • 如果遇到mysql_config not found 
  • 之前的博文有提过这个错误,不过是在Ubuntu下的解决方案-安装libmysqlclient-dev 
  • 然而在CentOS的源中并没有这个包。而安装mysql-devel即可。
yum install -y mysql-devel
  • 安装MySQL数据库 yum groupinstall mariadb mariadb-client
  • MariaDB其实可以看做MySQL新版吧,具体缘由自行百度。
  • 安装redisNoSQL数据库 
  • 会用到配合bloomfilter做url去重。
yum install -y redis
  • 安装 BloomFilter 模块
pip3 install bloomfilter
  •  其它爬虫常用库和平时使用的方法一样,直接pip3 install 包名 即可。bs4、lxml、pyquery、requests等

参考博文: https://uublog.com/article/20170308/centos7-install-scrapy/ 

                   https://blog.csdn.net/lianxiaopang/article/details/78492829

 

你可能感兴趣的:(Linux)