如何在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通过openpyxl生成Excel文件的方法
May 12 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
python shell根据ip获取主机名代码示例
Nov 25 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
Matplotlib配色之Colormap详解
Jan 05 Python
Python爬取梨视频的示例
Jan 29 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 Python
pytorch损失反向传播后梯度为none的问题
May 12 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 正则匹配函数体
2009/08/25 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
仿京东快报向上滚动的实例
2017/12/13 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
Python下载指定页面上图片的方法
2016/05/12 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
python统计中文字符数量的两种方法
2019/01/31 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
python实现飞船大战
2020/04/24 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
汽车转让协议书
2015/01/29 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle
 python中的元类metaclass详情
2022/05/30 Python