如何在django中运行scrapy框架


Posted in Python onApril 22, 2020

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python赋值语句后逗号的作用分析
Jun 08 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
Python实现KNN邻近算法
Jan 28 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
django+mysql的使用示例
Nov 23 Python
Python Flask框架扩展操作示例
May 03 Python
python pygame实现方向键控制小球
May 17 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
Python几种常见算法汇总
Jun 02 Python
Python with语句用法原理详解
Jul 03 Python
python中sys模块是做什么用的
Aug 16 Python
TensorFlow实现批量归一化操作的示例
Apr 22 #Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 #Python
python实现四人制扑克牌游戏
Apr 22 #Python
如何在django中实现分页功能
Apr 22 #Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 #Python
python实现扑克牌交互式界面发牌程序
Apr 22 #Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 #Python
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
php 执行系统命令的方法
2009/07/07 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php面向对象重点知识分享
2019/09/27 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
Jquery easyui 实现动态树
2015/11/17 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
原生JS轮播图插件
2017/02/09 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
python绘制条形图方法代码详解
2017/12/19 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python队列queue模块详解
2018/04/27 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
新闻编辑自荐信
2013/11/03 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
化工专业求职信
2014/07/01 职场文书
四风问题对照检查材料
2014/09/22 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
就业意向书范本
2015/05/11 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android