如何在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开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
python获取代理IP的实例分享
May 07 Python
Python标准库shutil用法实例详解
Aug 13 Python
感知器基础原理及python实现过程详解
Sep 30 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
May 18 Python
Python如何测试stdout输出
Aug 10 Python
python 解决函数返回return的问题
Dec 05 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 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动态生成函数示例
2014/03/21 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js中function()使用方法
2013/12/24 Javascript
js this函数调用无需再次抓获id,name或标签名
2014/03/03 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
python类继承用法实例分析
2015/05/27 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
详解Python高阶函数
2020/08/15 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
骨干教师培训感言
2014/01/16 职场文书
小学新学期教师寄语
2014/01/18 职场文书
学习保证书范文
2014/04/30 职场文书
承诺书范文
2014/06/03 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
社会实践活动总结格式
2015/05/11 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
python xlwt模块的使用解析
2021/04/13 Python
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript