搭建 PySpider 爬虫服务-云服务器玩法在线实验

[复制链接]
查看: 783|回复: 0
发表于 2020-4-8 23:54:21 | 显示全部楼层 |阅读模式
实验内容
PySpider 是一个国人编写的强大的网络爬虫系统并带有强大的 WebUI。采用 Python 语言编写,分布式架构,支持多种数据库后端,强大的 WebUI 支持脚本编辑器,任务监视器,项目管理器以及结果查看器。 本教程将一步一步指引您搭建属于您自己的 PySpider 爬虫服务。

免费在线实验地址:点击进入
实验资源:云服务器,没有云服务器的朋友推荐1折抢购:69元/年的阿里云服务器、或者99元/年的腾讯云服务器

软件环境:CentOS 7.2 64 位



一、环境准备
前置环境部署
在开始部署前,我们需要做一些前置准备。



yum 更新
  1. yum update -y
复制代码
安装开发编译工具
  1. yum install gcc gcc-c++ -y
复制代码
安装依赖库
  1. yum install python-pip python-devel python-distribute libxml2 libxml2-devel python-lxml libxslt libxslt-devel openssl openssl-devel -y
复制代码
升级pip
  1. pip install --upgrade pip
复制代码
该步骤可选,但为了部署的稳定性,推荐执行
该步骤耗时可能较长(5~10min),请耐心等待

二、部署 mariadb
由于 CentOS 7 中 MySQL 数据库已从默认的程序列表中移除,我们使用 mariadb 代替。

安装 mariadb
  1. yum install mariadb-server mariadb -y
复制代码
启动 mariadb 服务
  1. systemctl start mariadb
复制代码
设置 root 密码
默认的root用户密码为空,你可以使用以下命令来创建 root 用户的密码:
(该步骤也可以跳过,password 后的 Password 可以改为任何你希望设置的密码)
  1. mysqladmin -u root password "Password"
复制代码
检查是否安装成功
现在你可以尝试通过以下命令来连接到 Mysql 服务器
  1. mysql -u root -p
复制代码
然后输入您刚才设置的密码 ( 默认:Password ),如果一切正常,您应该可以在命令行看到以 MariaDB [(none)]> 或 mysql> 开头的提示了,说明连接成功。

此时输入 SHOW DATABASES; 并回车,应该可以看到类似下面这样的输出,说明一切正常。
  1. mysql> SHOW DATABASES;
  2. +----------+
  3. | Database |
  4. +----------+
  5. | mysql    |
  6. | test     |
  7. +----------+
  8. 2 rows in set (0.13 sec)
复制代码
完成后,可以通过快捷键 Ctrl+C 或命令行键入 exit 来退出,进入下一步。


如果您未设置密码,直接使用 mysql 即可

三、部署 redis
下载、解压安装包
下载安装包
  1. wget http://download.redis.io/redis-stable.tar.gz
复制代码
解压安装包
  1. tar -xzvf redis-stable.tar.gz
复制代码
移动解压包到 /usr/local 内
  1. mv redis-stable /usr/local/redis
复制代码
编译安装
  1. cd /usr/local/redis
  2. make
  3. make install
复制代码
设置 redis 配置
设置配置文件路径
  1. mkdir -p /etc/redis
  2. cp /usr/local/redis/redis.conf /etc/redis/redis.conf
复制代码
修改 /etc/redis/redis.conf 文件的 daemonize 配置项为如下:
  1. daemonize yes
复制代码
启动 redis 服务
  1. /usr/local/bin/redis-server /etc/redis/redis.conf
复制代码


四、部署 pyspider
安装依赖
  1. pip install --upgrade chardet
  2. easy_install mysql-connector==2.1.3
  3. easy_install redis
  4. pip install Jinja2==2.10
复制代码
安装 pyspider
  1. pip install pyspider
复制代码
配置 pyspider
首先创建配置目录
  1. mkdir /etc/pyspider
复制代码
然后 /etc/pyspider 目录下创建 pyspider.conf.json,参考下面的内容。示例代码:/etc/pyspider/pyspider.conf.json
  1. {
  2.   "taskdb": "mysql+taskdb://root:Password@127.0.0.1:3306/taskdb",
  3.   "projectdb": "mysql+projectdb://root:Password@127.0.0.1:3306/projectdb",
  4.   "resultdb": "mysql+resultdb://root:Password@127.0.0.1:3306/resultdb",
  5.   "message_queue": "redis://127.0.0.1:6379/db",
  6.   "webui": {
  7.     "username": "root",
  8.     "password": "Password",
  9.     "need-auth": true
  10.   }
  11. }
复制代码
其中 mysql 配置中的 root 为您 mysql 的用户名, root: 后面的 Password 为您刚设置的密码。

webui 配置中的 username 及 password 为您访问 WebUI 时候需要的用户名,你也可以不设置用户名密码,直接将 need-auth 设为 false 即可。

启动服务
  1. pyspider -c /etc/pyspider/pyspider.conf.json
复制代码
如果一切正常,现在访问 http://<您的 CVM IP 地址>:5000,您应该可以看到 pyspider dashboard 的首页了。

服务能够正常启动后,我们需要让它能够在后台运行,您可以通过以下命令让服务在后台运行
  1. nohup pyspider -c /etc/pyspider/pyspider.conf.json &
复制代码
也可以使用官方推荐的 Supervisor 来启动,这里就不详细介绍了,具体用法可以参考 Supervisor 的文档
五、部署完成
访问服务
此时您可以访问 http://<您的 CVM IP 地址>:5000 使用您的爬虫来搜集数据了,具体 pyspider 爬虫脚本的编写及使用教程可以参考 网上资料。

大功告成
恭喜您已经完成了搭建 PySpider 爬虫服务的学习

腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )