CentOS7之Scrapy爬虫部署

news/2024/7/19 12:37:45 标签: python, 爬虫, 开发工具

scrapyd

安装:

sudo pip install scrapyd

配置:

#文件~/.scrapyd.conf
#内容如下:
[scrapyd]
eggs_dir    = /home/sirius/scrapyd/eggs
logs_dir    = /home/sirius/scrapyd/logs
items_dir   = /home/sirius/scrapyd/items
jobs_to_keep = 5
dbs_dir     = /home/sirius/scrapyd/dbs
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 50
poll_interval = 5
bind_address = 0.0.0.0
http_port   = 6800
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
#daemonstatus.json = scrapyd.webservice.DaemonStatus

supervisor

守护进程,用这个的原因实在是因为scrapyd太脆弱了,一看不住就挂了

安装:

sudo pip install supervisor

配置:

sudo mkdir -p /etc/supervisor/

#导入默认配置
sudo su - root -c "echo_supervisord_conf > /etc/supervisor/supervisord.conf"

#链接管理
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))  

[supervisorctl]
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as http_username if set
;password=123                ; should be same as http_password if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available

#设置管理进程
[program:scrapyd]
command=scrapyd
autostart=true
autorestart=unexpected

启动

`创建文件/usr/lib/systemd/system/supervisord.service内容如下:

[Unit]                                                              
Description=supervisord - Supervisor process control system for UNIX
Documentation=http://supervisord.org                                
After=network.target                                                

[Service]                                                           
Type=forking                                                        
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf             
ExecReload=/usr/bin/supervisorctl reload                            
ExecStop=/usr/bin/supervisorctl shutdown                            
User=<user>

[Install]                                                           
WantedBy=multi-user.target

#启动
sudo systemctl enable supervisord
sudo systemctl start supervisord

#查看
supervisorctl

#如一切正常
|>$ scrapyd   RUNNING   pid 8059, uptime 0:02:02
#常用命令
status #查看状态
reload #重新载入
restart scrapyd #重启任务
update #可以更新 supervisor 配置
tail -f scrapyd stderr #检查日志

爬虫部署:

部署:

cd <项目目录>
scrapyd-deploy

API控制:

curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider

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

相关文章

java enum 最多,Java Enum,你知道多少?

引用的枚举类型public enum State {ON, OFF};遍历使用valuesfor (State s : State.values()) {System.out.println(s.name());// s.original()访问值}可以使用switch 枚举变量把枚举值作为case条件。使用EnumSetEnumSet stateSet EnumSet.allOf(State.class);for (State s : s…

信号完整性与电源完整性分析_技术分享:如何进行兼顾电源影响的DDR4信号完整性仿真...

同步开关输出(SSO)引起的同步开关噪声(SSN)一直是信号完整性(SI)领域几十年来的热门话题(见下图)。一些人认为只有使用晶体管级模型的SPICE仿真才能提供DDR4等存储器接口所需的精度&#xff0c;以仿真在地址和数据总线上同时驱动多个信号。而即使使用SPICE仿真器和晶体管级模型…

mysql命令行工具

mysql包相关命令行工具[rootmanage ~]# rpm -qa|grep mysql mysql-server-5.1.73-5.el6_7.1.x86_64 mysql-5.1.73-5.el6_7.1.x86_64 mysql-connector-java-5.1.17-6.el6.noarch mysql-libs-5.1.73-5.el6_7.1.x86_64 [rootmanage ~]# rpm -ql mysql /usr/bin/msql2mysql  没多…

python 字典类型 get 参数_字典:python的基础数据类型

字典简介字典是python中唯一的映射类型&#xff0c;采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算&#xff0c;根据计算的结果决定value的存储地址&#xff0c;所以字典是无序存储的&#xff0c;且key必须是可哈希的。可哈希表示key必须是不可变类型&…

php开发用zend还是notepad,PHP Zend Framework项目开发基础案例教程

第1章 Zend Framework开发环境1.1 Zend Framework概述1.1.1 Zend Framework的特点1.1.2 Zend Framework的常用组件1.2 搭建开发环境1.2.1 集成软件包的安装与配置1.2.2 设置虚拟主机1.2.3 开发环境的配置1.2.4 Zend Framework的安装1.3 开发工具与技术文档1.3.1 Zen…

python numpy 行 列个数_Python 用 numpy 随机抽样选择矩阵的多行或多列

numpy提供了多种随机选取的方法&#xff0c;这里放三种方法&#xff0c;效果相同。以从一个矩阵中随机抽取n行为例&#xff0c;写了三个函数&#xff0c;粗鄙代码&#xff0c;见笑import numpy as np#def rand_row1(array,dim_needed): #array为需要采样的矩阵&#xff0c;dim_…

Apple Pay编程指导

1.About Apple Pay Apple Pay是一种移动支付技术&#xff0c;让使用者把它们对真实的物品和服务的支付信息以一种方便和安全的方式给你。 对于在app中给出的数字物品和服务&#xff0c;可查看In-App Purchase Programming Guide。 Working with Apple Pay 使用Apple Pay功能的A…

php截取tp5地址,tp5获取器的用法。

1.命名规则 get 属性名的驼峰命名 Attr ------>在相应的model中创建方法例如&#xff1a;protected function getSexAttr($value) {$text [1 > 男, 2 > 女, 3 > 未知];return $text[$value];}此情景下user表里是存在sex字段的&#xff0c;sex的值为1,2,3三…