如何在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实现监控windows服务并自动启动服务示例
Apr 17 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
python字符串的常用操作方法小结
May 21 Python
python实现扫描日志关键字的示例
Apr 28 Python
Python GUI布局尺寸适配方法
Oct 11 Python
基于pandas中expand的作用详解
Dec 17 Python
mac使用python识别图形验证码功能
Jan 10 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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调用dll的实例操作动画与代码分享
2012/08/14 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
wxPython中文教程入门实例
2014/06/09 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python中for用来遍历range函数的方法
2018/06/08 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
wxPython实现分隔窗口
2019/11/19 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
图书室管理制度
2014/01/19 职场文书
幼儿园招生广告
2014/03/19 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
干部年终考核评语
2015/01/04 职场文书
青涩记忆观后感
2015/06/18 职场文书
婚礼答谢词范文
2015/09/29 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB