scrapyd部署爬虫

官方文档:http://scrapyd.readthedocs.io/en/stable/

scrapy爬虫写好后,一般需要用命令行运行。scrapyd部署能够在网页端查看正在执行的任务,也能新建爬虫任务,和终止爬虫任务。优点:在网页端管理爬虫,可以控制多个爬虫任务。

1.安装

pip install scrapyd
pip install scrapyd-client

2.基本使用

2.1 运行scrapyd

在scrapy.cfg中,取消#url = http://localhost:6800/前面的“#” 。

首先切换命令行路径到Scrapy项目的根目录下,
开启scrapyd服务,输入scrapyd,将scrapyd运行起来

然后新开一个终端切换路径至scrapy工程根目录,发布scrapyd项目,运行命令:
scrapd-deploy -p projectName
验证是否发布成功:
scrapyd-deploy -l

2.2 发布工程到scrapyd

上述命令已经开启服务,并创建了爬虫项目

2.3 创建爬虫任务

命令行输入

curl http://localhost:6800/schedule.json -d project=projectName -d spider=spiderName

3. 查看爬虫任务

在网页中输入:http://localhost:6800/

4.修改scrapyd的配置

scrapyd默认保留5条日志。
默认绑定地址为127.0.0.1。如果是在服务器部署爬虫需要在其他主机访问则修改地址为0.0.0.0
pip show scrapyd找到scrapyd的位置

scrapyd部署爬虫_第1张图片

scrapyd部署爬虫_第2张图片

一些常用命令:

  • 查看状态:

    scrapyd-deploy -l

  • 启动爬虫:

    curl http://localhost:6800/schedule.json -d project=PROJECT_NAME -d spider=SPIDER_NAME

  • 停止爬虫:

    curl http://localhost:6800/cancel.json -d project=PROJECT_NAME -d job=JOB_ID

  • 删除项目:

    curl http://localhost:6800/delproject.json -d project=PROJECT_NAME

  • 列出部署过的项目:

    curl http://localhost:6800/listprojects.json

  • 列出某个项目内的爬虫:

    curl http://localhost:6800/listspiders.json?project=PROJECT_NAME

  • 列出某个项目的job:

    curl http://localhost:6800/listjobs.json?project=PROJECT_NAME

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})

参考文章:https://www.cnblogs.com/zhongtang/p/5634545.html

重启scrapyd的方法

(1)ps aux|grep scrapyd:找到scrapyd的pid

(2) kill -9 pid 或者kill pid

(3)screen -S scrapyd 新建一个进程

(4) 在进程里启动scrapyd

/usr/bin/python /usr/local/bin/scrapyd

(5)ctrl+A+D退出进程

(6)改工程的scrapy.cfg文件,如果url有#号,把url前的#去掉

(7)可以scrapyd-deploy工程了

screen参考:
https://www.ibm.com/developerworks/cn/linux/l-cn-screen/
http://man.linuxde.net/screen

杀死screen会话 screen -X -S pid quit 其中pid为screen进程号
screen -ls 列出现有screen会话列表
screen -r pid 恢复到某个screen会话
Ctrl+a +d 保留会话离开当前窗口

你可能感兴趣的:(scrapyd部署爬虫)