ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

scrapy部署 与 发布到scrapyd

2021-05-25 14:06:04  阅读:242  来源: 互联网

标签:webservice 部署 0.0 json 爬虫 6800 scrapy scrapyd


 

 scrapyd  安装  https://cuiqingcai.com/5445.html

发布 到 scrapyd   https://cuiqingcai.com/8491.html

 

 


 

pip install scrapyd

安装完毕后,查看scrapyd的配置文件,scrapyd会在如下位置依次查找配置文件,并以最后一个找到的配置文件为准进行配置     /etc/scrapyd/scrapyd.conf (Unix)     c:\scrapyd\scrapyd.conf (Windows)     /etc/scrapyd/conf.d/* (in alphabetical order, Unix)     scrapyd.conf     ~/.scrapyd.conf (users home directory) 查看scrapyd的安装目录  */site-packages/scrapyd,发现有一个default_scrapyd.conf默认配置文件,打开该文件,显示如下内容     这里有一个名为bind_address的选项,默认值为127.0.0.1,我们将其改为0.0.0.0( 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有多个IP地址,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过多个ip地址都能够访问该服务。)  

 

[scrapyd]
eggs_dir    = eggs
logs_dir    = logs
items_dir   =
jobs_to_keep = 5
dbs_dir     = dbs
max_proc    = 0
max_proc_per_cpu = 10
finished_to_keep = 100
poll_interval = 5.0
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

 

  • max_proc_per_cpu = 10,原本是 4,即 CPU 单核最多运行 4 个 Scrapy 任务,也就是说 1 核的主机最多同时只能运行 4 个 Scrapy 任务,在这里设置上限为 10,也可以自行设置。

 

  bind_address = 0.0.0.0,原本是 127.0.0.1,不能公开访问,在这里修改为 0.0.0.0 即可解除此限制

 

 

执行命令启动scrapyd 

当我执行完命令后报错,说是找不到命令:

 

那是因为我系统上python2与3并存,所以找不到,这时应该做软连接:

我的python3路径:  /usr/local/python3

制作软连接: ln -s /usr/local/python3/bin/scrapyd  /usr/bin/scrapyd

--制作软连接: ln -s /usr/local/python3/bin/scrapy  /usr/bin/scrapy

scrapyd &启动后台服务   打开浏览器,输入 服务端地址:6800,显示如下页面,配置成功  

 

部署到 scrapyd

https://cuiqingcai.com/8491.html

 

scrapyd-deploy

 

 


 

  • 客户端安装部署
    pip install scrapyd-client   执行完毕后,找到scrapy-client的安装目录,发现一个名为scrapyd-deploy的文件,我们把它复制到scrapy项目中与scrapy.cfg同级的目录中(不复制也可以,但这样操作会方便一点)   打开scrapy.cfg文件,有如下内容,需要做的就是把[deploy]改为[deploy:mingzi]的形式,mingzi名称自拟,然后再把url前的注释去掉,并且将地址改为scrapyd的服务器地址。

 

  • 打开爬虫项目scrapy.cfg
  • 【deploy】去掉url注释(url前# 去掉)
  • 【settings】将deploy的url复制一份到setting中

python scrapyd-deploy -l来查看 爬虫 的配置情况 

python scrapyd-deploy -L mingzi  查看名为mingzi  的target下可用的爬虫项目

 

python scrapy-deploy mingzi  -p toolspider 将mingzi  中的toolspider项目部署到scrapyd服务端

 

 

总结一下:

1、获取状态
http://127.0.0.1:6800/daemonstatus.json 2、获取项目列表
http://127.0.0.1:6800/listprojects.json 3、获取项目下已发布的爬虫列表
http://127.0.0.1:6800/listspiders.json?project=myproject 4、获取项目下已发布的爬虫版本列表
http://127.0.0.1:6800/listversions.json?project=myproject 5、获取爬虫运行状态
http://127.0.0.1:6800/listjobs.json?project=myproject
 6、启动服务器上某一爬虫(必须是已发布到服务器的爬虫)
http://localhost:6800/schedule.json (post方式,data={"project":myproject,"spider":myspider}) 7、删除某一版本爬虫
http://127.0.0.1:6800/delversion.json (post方式,data={"project":myproject,"version":myversion}) 8、删除某一工程,包括该工程下的各版本爬虫    http://127.0.0.1:6800/delproject.json(post方式,data={"project":myproject})

 

这里可以看到,有删除爬虫的APi,有启动爬虫的API,独独没有发布爬虫的API,为什么呢?
因为发布爬虫需要使用另一个专用工具Scrapyd-client。


https://www.cnblogs.com/wangqinkuan/p/9990652.html

 

 

------------恢复内容结束------------

标签:webservice,部署,0.0,json,爬虫,6800,scrapy,scrapyd
来源: https://blog.51cto.com/u_13888585/2810996

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有