学会了这项技能,你就能得到任何想要的信息!

欢迎你们前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~html

本文由腾讯云实验室发表于云+社区专栏python

腾讯云提供了开发者实验室教你搭建 PySpider 爬虫服务,教程内容以下,用户能够点击开发者实验室快速上机完成实验。mysql

环境准备

任务时间:5min ~ 10minc++

前置环境部署

在开始部署前,咱们须要作一些前置准备。web

yum 更新redis

yum update -y
复制代码

安装开发编译工具sql

yum install gcc gcc-c++ -y
复制代码

安装依赖库数据库

yum install python-pip python-devel python-distribute libxml2 libxml2-devel python-lxml libxslt libxslt-devel openssl openssl-devel -y
复制代码

升级pipjson

pip install --upgrade pip
复制代码

该步骤可选,但为了部署的稳定性,推荐执行bash

该步骤耗时可能较长(5~10min),请耐心等待

部署 mariadb

任务时间:10min ~ 20min

因为 CentOS 7 中 MySQL 数据库已从默认的程序列表中移除,咱们使用 mariadb 代替。

安装 mariadb

yum install mariadb-server mariadb -y
复制代码

启动 mariadb 服务

systemctl start mariadb
复制代码

设置 root 密码

默认的root用户密码为空,你可使用如下命令来建立 root 用户的密码:

(该步骤也能够跳过,password 后的 Password 能够改成任何你但愿设置的密码)

mysqladmin -u root password "Password"
复制代码

检查是否安装成功

如今你能够尝试经过如下命令来链接到 Mysql 服务器

mysql -u root -p
复制代码

而后输入您刚才设置的密码 ( 默认:Password ),若是一切正常,您应该能够在命令行看到以 MariaDB [(none)]>mysql> 开头的提示了,说明链接成功。

此时输入 SHOW DATABASES; 并回车,应该能够看到相似下面这样的输出,说明一切正常。

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.13 sec)
复制代码

完成后,能够经过快捷键 Ctrl+C 或命令行键入 exit 来退出,进入下一步。

若是您未设置密码,直接使用 mysql 便可

部署 redis

任务时间:10min ~ 20min

下载、解压安装包

下载安装包

wget http://download.redis.io/redis-stable.tar.gz
复制代码

解压安装包

tar -xzvf redis-stable.tar.gz
复制代码

移动解压包到 /usr/local 内

mv redis-stable /usr/local/redis
复制代码

编译安装

cd /usr/local/redis
make
make install
复制代码

设置 redis 配置

设置配置文件路径

mkdir -p /etc/redis
cp /usr/local/redis/redis.conf /etc/redis/redis.conf
复制代码

修改 /etc/redis/redis.conf 文件的 daemonize 配置项为以下:

daemonize yes
复制代码

启动 redis 服务

/usr/local/bin/redis-server /etc/redis/redis.conf
复制代码

部署 pyspider

任务时间:10min ~ 20min

安装依赖

pip install --upgrade chardet
easy_install mysql-connector==2.1.3
easy_install redis
复制代码

安装 pyspider

pip install pyspider
复制代码

配置 pyspider

首先建立配置目录

mkdir /etc/pyspider
复制代码

而后 /etc/pyspider 目录下建立 pyspider.conf.json,参考下面的内容。

具体配置的说明文档请参考 官方文档

示例代码:/etc/pyspider/pyspider.conf.json
{
  "taskdb": "mysql+taskdb://root:Password@127.0.0.1:3306/taskdb",
  "projectdb": "mysql+projectdb://root:Password@127.0.0.1:3306/projectdb",
  "resultdb": "mysql+resultdb://root:Password@127.0.0.1:3306/resultdb",
  "message_queue": "redis://127.0.0.1:6379/db",
  "webui": {
    "username": "root",
    "password": "Password",
    "need-auth": true
  }
}
复制代码

其中 mysql 配置中的 root 为您 mysql 的用户名, root: 后面的 Password 为您刚设置的密码。

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

启动服务

pyspider -c /etc/pyspider/pyspider.conf.json
复制代码

若是一切正常,如今访问 http://<您的 CVM IP 地址>:5000,您应该能够看到 pyspider dashboard 的首页了。

服务可以正常启动后,咱们须要让它可以在后台运行,您能够经过如下命令让服务在后台运行

nohup pyspider -c /etc/pyspider/pyspider.conf.json &
复制代码

也可使用官方推荐的 Supervisor 来启动,这里就不详细介绍了,具体用法能够参考 Supervisor 的文档

部署完成

任务时间:1min ~ 2min

访问服务

此时您能够访问 http://<您的 CVM IP 地址>:5000 使用您的爬虫来搜集数据了,具体 pyspider 爬虫脚本的编写及使用教程能够参考 网上资料

问答 BeautifulSoup和Scrapy爬虫之间的区别? 相关阅读 腾讯云数据库回档解决方案 大数据在教育行业的研究与应用 看看上下文映射的清晰视图 云学院 · 课程推荐 | 知乎KOL,与你分享机器学习中如何作选择

**此文已由做者受权腾讯云+社区发布,原文连接:cloud.tencent.com/developer/a… **

欢迎你们前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

相关文章
相关标签/搜索