如何在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处理Excel文件实例代码
Jun 20 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python两个list[]相加的实现方法
Sep 23 Python
Python识别验证码的实现示例
Sep 30 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
python通过加号运算符操作列表的方法
2015/07/28 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
Python魔术方法专题
2020/06/19 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
库房管理员岗位职责
2014/03/09 职场文书
入党思想汇报怎么写
2014/04/03 职场文书
2014年教育工作总结
2014/11/26 职场文书
保管员岗位职责
2015/02/14 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
小学作文之描写天气
2019/08/15 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js