首页 > 技术文章 > scrapyd 爬虫部署

wudameng 2019-08-12 11:47 原文

scrapyd部署爬虫

 

1.编写爬虫

2.部署环境 pip install scrapyd pip install scrapyd-client 启动scrapyd的服务:cmd:>scrapyd(必须处于开启状态) 在爬虫根目录执行:scrapyd-deploy,如果提示不是内部命令,需要修改配置文件。

3.发布工程到scrapyd 修改scrapy.cfg,去掉url前的# 进入到scrapy项目根目录,执行:scrapyd-deploy <target> -p <projectname>提示:(target:scrapy.cfg中[deploy:***])(projectname:scrapy.cfg中project = XXX) (#url中的#去掉)

4.启动爬虫 第一种方法:Django中view.py class StartSpider(View): def get(self,request): url = 'http://localhost:6800/schedule.json' data = {'project': 'ScrapyAbckg', 'spider': 'abckg'} print( requests.post(url=url, data=data)) return JsonResponse({'result':'OK'}) 第二种方法:(命令式启动爬虫:curl http://localhost:6800/schedule.json -d project=爬虫项目 -d spider=爬虫名)

5.启动django cmd:python manage.py runserver

 

 

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

9.取消运行中的爬虫 http://127.0.0.1:6800/cancel.json (post方式,data={"project":myproject,"job":jobid})

推荐阅读