资讯专栏INFORMATION COLUMN

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

chenatu / 2740人阅读

摘要:环境准备任务时间前置环境部署在开始部署前,我们需要做一些前置准备。此时输入并回车,应该可以看到类似下面这样的输出,说明一切正常。完成后,可以通过快捷键或命令行键入来退出,进入下一步。

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

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

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

环境准备
任务时间:5min ~ 10min
前置环境部署

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

yum 更新

yum update -y

安装开发编译工具

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

升级pip

pip install --upgrade pip
该步骤可选,但为了部署的稳定性,推荐执行

该步骤耗时可能较长(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,与你分享机器学习中如何做选择

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/dev...

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42299.html

相关文章

  • 如何在 2 分钟内入睡(二战时期美国飞行员训练法)

    摘要:简评睡不着一点点看着天亮,怎么办看看二战时期,美国为飞行员研发的入睡训练。第二次世界大战期间,美国为海军飞行员开发了这项技术。 简评:睡不着一点点看着天亮,怎么办?看看二战时期,美国为飞行员研发的入睡训练。 你有过这种经历吗? 工作时间偷偷打盹,一旦休息时间,在椅子上或者在某个角落想要入睡,但一直是昏昏欲睡却醒着的状态。 尽管你很累,但就是睡不着,很快,休息时间过了。说起来很让人沮丧,...

    Alliot 评论0 收藏0
  • 阿里45K高级Java岗,必备技能清单

    摘要:听说年后离职的老同事,金三刚拿下高薪,年薪直奔万了。互联网公司主流技术选型进阶高级架构师必学大主要技能,包括数据结构和算法高级特性核心数据库框架与必备工具系统架构设计等,希望能真正帮助到想要从程序员进阶为高级架构师之路的朋友。 相信你可能经历过这些: 已经工作两三年了,每个项目都会加班加点全力以赴去完成,薪资增长幅度却不如人意。听说年后离职的老同事,金三刚拿下高薪offer,年薪直奔5...

    LuDongWei 评论0 收藏0
  • 35岁,一个团队leader,从工作满8年公司离职,选择重新尝试新机会,或许35岁才是起点。

    摘要:面试从开始准备到一直到年月份,面试现在这家公司,大概经历了年半的时间。后边也证明自己选择是对的。,,,,等也是测试必备的工具技能,这些虽然不是很难,但也是常用必备的技能。 ...

    SoapEye 评论0 收藏0
  • 程序员如何预估自己项目开发时间?

    摘要:预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。当你把交付时间的开销也考虑进去,你就能看到自己的时间估算和项目的实际发布时间要匹配得多。 项目时间的估算对项目的成败至关重要。项目时间管理包括了项目按时完成所需的各个过程。但是,在实际项目中,经常出现项目延期,估算严重不准确的现象。 预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。估计时间短了说明有些事...

    Chaz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<