如何在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的pandas框架操作Excel文件中的数据教程
Mar 31 Python
Python中字符串的常见操作技巧总结
Jul 28 Python
Python实现线程状态监测简单示例
Mar 28 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
图文详解python安装Scrapy框架步骤
May 20 Python
Python3.8中使用f-strings调试
May 22 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python 实现多线程下载视频的代码
Nov 15 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
python opencv实现图像配准与比较
Feb 09 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 Directory 函数的详解
2013/03/07 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
详解vue中axios的封装
2018/07/18 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
Python sys.argv用法实例
2015/05/28 Python
Python实现网站注册验证码生成类
2017/06/08 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
python的re正则表达式实例代码
2018/01/24 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
matplotlib基础绘图命令之imshow的使用
2020/08/13 Python
python基于opencv实现人脸识别
2021/01/04 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
医药专业推荐信
2013/11/15 职场文书
行政经理的岗位职责
2013/11/23 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
检讨书模板大全
2015/05/07 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书