1.新建一个django项目,

2.前端展示一个按钮

<form action="/start/" method="POST">
{% csrf_token %}
<input type="submit" value="启动爬虫">
</form>

3.在django项目的根目录创建scrapy项目

4.cmd命令行运行:scrapyd  启动服务

5.将scrapy项目部署到当前工程:scrapyd-deploy 爬虫名称 -p 项目名称

6.views.py

# 首页
def index(request):
return render(request,'index.html',locals()) def start(request):
if request.method == 'POST':
# 启动爬虫
url = 'http://localhost:6800/schedule.json'
data = {'project': 'ABCkg', 'spider': 'abckg'}
print(requests.post(url=url, data=data))
return JsonResponse({'result':'ok'})

7.在本地6800端口点击jobs当前爬虫项目就在运行了。

8.写一个按钮,点击停止scrapy爬虫

def stop(request):
if request.method == 'POST':
# 停止爬虫
url = 'http://127.0.0.1:6800/cancel.json'
data={"project":'ABCkg','job':'b7fe64ee7ad711e9b711005056c00008'}
print(requests.post(url=url, data=data))
return JsonResponse({'result':'stop'})

总结:

----------------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 -d project=项目名 -d versions
(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':myjob})

PS:网络一直不好,几张比较直观的截图粘不上来,如遇不懂,可以参考我的上一篇博客

最新文章

  1. 学习笔记:MySQL操作初步
  2. mvn install
  3. CentOS7 安装与配置Ant
  4. elasticsearch-索引
  5. JavaScript 火的有点过头了,但又能火多久呢?
  6. cocos2d-x之value
  7. Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
  8. ch2-vue实例(new Vue({}) 属性与方法 声明周期)
  9. 第一个简单的maven项目
  10. Docker之镜像
  11. 从注册表清理 IE10,IE11 用户代理字符串(UserAgent)中的垃圾信息
  12. 【Spring】5、利用自定义注解在SpringMVC中实现自定义权限检查
  13. [No0000150]VSVisualStudio提示图标,信号图标的含义
  14. CSS布局模型学习(Float、Position、Flexbox)
  15. intellij idea 重命名或复制一个项目(不用重启)
  16. QT写hello world 以及信号槽机制
  17. 使用UpdatePanel时FileUpload失效的问题!【FileUpload上传文件失败】
  18. Android--Apache HttpClient 的一些问题
  19. 在java中public void与public static void区别
  20. Mysql实战之索引

热门文章

  1. windows下安装了2个python,如何下载模块到不同的python中
  2. 数据库三,exec内置函数
  3. sqlplus登录时密码有特殊符号解决方法
  4. 发布Cocos2d-x的PC端程序
  5. 计算机网络基础笔记 运输层协议UDP/TCP
  6. Vue.js中 watch(深度监听)的最易懂的解释
  7. [Vue 牛刀小试]:第十三章 - Vue Router 基础使用再探(命名路由、命名视图、路由传参)
  8. numpy-np.ceil,np.floor,np.expand_dims方法
  9. ubuntu上编译和使用easy_profiler对C++程序进行性能分析
  10. 【Web开发】到底什么是短链接