如何在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中str is not callable问题详解及解决办法
Feb 10 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
浅谈python中requests模块导入的问题
May 18 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
深入浅析Python 中 is 语法带来的误解
May 07 Python
简单了解python的内存管理机制
Jul 08 Python
python编写微信公众号首图思路详解
Dec 13 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
如何理解python接口自动化之logging日志模块
Jun 15 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
ajax取消挂起请求的处理方法
2013/03/18 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
js word表格动态添加代码
2010/06/07 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
js单例模式详解实例
2013/11/21 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
彻底理解Python list切片原理
2017/10/27 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python中 * 的用法详解
2019/07/10 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
python 牛顿法实现逻辑回归(Logistic Regression)
2020/10/15 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
护士的岗位职责
2013/12/04 职场文书
法制宣传月活动总结
2014/04/29 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python