搭建pyspider爬虫服务

news/2024/7/19 9:53:11 标签: 爬虫

1. 环境准备

首先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

  

2.部署 mariadb

 

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

 

yum install mariadb-server mariadb -y

  启动 mariadb 服务

systemctl start mariadb

  设置 root 密码

默认的root用户密码为空,你可以使用以下命令来创建 root 用户的密码:
(该步骤也可以跳过,password 后的 hKyAvK55 可以改为任何你希望设置的密码)
mysqladmin -u root password "hKyAvK55"

  检查是否安装成功

现在你可以尝试通过以下命令来连接到 Mysql 服务器 
 
mysql -u root -p

  

然后输入您刚才设置的密码 ( 默认: hKyAvK55 ),如果一切正常,您应该可以在命令行看到以  MariaDB [(none)]> 或  mysql> 开头的提示了,说明连接成功。
此时输入  SHOW DATABASES; 并回车,应该可以看到类似下面这样的输出,说明一切正常。
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.13 sec)

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

3.部署 redis

下载、解压安装包

下载安装包

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

4.部署 pyspider

安装依赖
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,参考下面的内容。
具体配置的说明文档请参考  官方文档
{
  "taskdb": "mysql+taskdb://root:hKyAvK55@127.0.0.1:3306/taskdb",
  "projectdb": "mysql+projectdb://root:hKyAvK55@127.0.0.1:3306/projectdb",
  "resultdb": "mysql+resultdb://root:hKyAvK55@127.0.0.1:3306/resultdb",
  "message_queue": "redis://127.0.0.1:6379/db",
  "webui": {
    "username": "root",
    "password": "hKyAvK55",
    "need-auth": true
  }
}
其中 mysql 配置中的  root 为您 mysql 的用户名,  root:后面的  hKyAvK55 为您刚设置的密码。
webui 配置中的 username 及 password 为您访问 WebUI 时候需要的用户名,你也可以不设置用户名密码,直接将  need-auth 设为  false 即可。
启动服务
pyspider -c /etc/pyspider/pyspider.conf.json
如果一切正常,现在访问  http://119.29.152.235:5000,您应该可以看到 pyspider dashboard 的首页了。
服务能够正常启动后,我们需要让它能够在后台运行,您可以通过以下命令让服务在后台运行
nohup pyspider -c /etc/pyspider/pyspider.conf.json &
也可以使用官方推荐的  Supervisor 来启动,这里就不详细介绍了,具体用法可以参考 Supervisor 的文档

5.部署完成

访问服务
此时您可以访问  http://119.29.152.235:5000 使用您的爬虫来搜集数据了,具体 pyspider 爬虫脚本的编写及使用教程可以参考  网上资料。

6.大功告成

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

转载于:https://www.cnblogs.com/pejsidney/p/8610839.html


http://www.niftyadmin.cn/n/1698244.html

相关文章

两个栈实现一个队列,两个队列实现一个栈

2019独角兽企业重金招聘Python工程师标准>>> 1、两个栈实现一个队列 import java.util.Stack;public class TwoStackToQueue {Stack<Integer>s1 new Stack<Integer>();Stack<Integer>s2 new Stack<Integer>();public void push(int node)…

计组期末复习之例题与解析

计组例题与解析 第一章&#xff1a;概论 无 第二章&#xff1a;运算方法和运算器 例2-1 求补码 对于正数&#xff0c;不变 对于负数&#xff0c;符号位不变&#xff0c;数值位取反加一 例2-2 数轴形式表示原码、反码、补码范围 第一位符号位&#xff0c;后面是数值位 反码就…

第三十五篇、简单的屏幕适配,字体适配

开发中到处都要做屏幕适配,有些甚至字体也要适配,那么怎样能快速的来处理呢? 公司设计图只给了6p的图,各种图片也只有3x,各种尺寸什么的都是3x的,所以写了下面这么个宏来处理 // 获取宽度比例 #define GKScreenWidthRatio (GKScreenWidth / 414.0) // 获取高度比例 #define G…

MPI

MPI MPI_Init(&argc, &argv) 与 MPI_Finalize() 这其实就是一个程序的框架&#xff0c;我们这么来用&#xff0c;其中MPI_Init会在用户启动程序的时候&#xff0c;定义由用户启动的所有进程所组成的通信子MPI_COMM_WORLD #include <mpi.h> //... int main(int…

SQLServer 数据库变成单个用户后无法访问问题的解决方法

USE master; GO DECLARE SQL VARCHAR(MAX); SET SQL SELECT SQLSQL; KILL RTRIM(SPID) FROM master..sysprocesses WHERE dbidDB_ID(数据库名); EXEC(SQL); ALTER DATABASE 数据库名 SET MULTI_USER; 转载于:https://www.cnblogs.com/hubbert123/p/8616614.html

sublime text2 解决中文乱码

打开Preferences菜单&#xff0c;并选择 Browse Packages…系统会打开Sublime Text 2的Packages文件夹&#xff0c;回到上一级菜单&#xff0c;然后打开Installed Packages文件夹下载并将下载的Package Control.sublime-package拷贝到Installed Packages文件夹(注意此处是Insta…

FlowLayoutPanel 只显示垂直进度条、间距问题

1 flowLayoutPanel1.AutoScroll false; 2 flowLayoutPanel1.FlowDirection FlowDirection.TopDown; 3 flowLayoutPanel1.WrapContents false; 4 flowLayoutPanel1.HorizontalScroll.Maximum 0; // 把水平滚动范围设成0就看不到水平滚动条了 5 flowLayoutPanel1.AutoScroll …

高性能期末复习之第一章:计算的演化发展

名词解释&#xff1a;一个3分 总分30 简答题&#xff1a;一个5分 总分40 编程题&#xff1a;一个10分 总分30 高性能计算导论期末复习&#xff08;根据复习范围&#xff09; 第一章&#xff1a; 计算的演化发展 串行计算 定义 传统上&#xff0c;一般的软件设计都是串行式计…