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
- 客户端安装部署:
- 打开爬虫项目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
------------恢复内容结束------------