如何在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 相关文章推荐
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
使用python将时间转换为指定的格式方法
Nov 12 Python
python实现五子棋小游戏
Mar 25 Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python 实现学生信息管理系统的示例
Nov 28 Python
利用python实现汉诺塔游戏
Mar 01 Python
Python手拉手教你爬取贝壳房源数据的实战教程
May 21 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 Python
python数字类型和占位符详情
Mar 13 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
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
JavaScript的目的分析
2007/01/05 Javascript
js查找父节点的简单方法
2008/06/28 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
Vue实现验证码功能
2019/12/03 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
师范应届生求职信
2013/11/15 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
关于建议书的格式范文
2014/05/20 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
工地材料员岗位职责
2015/04/11 职场文书
七一慰问简报
2015/07/20 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL