如何在django中运行scrapy框架

作者:小陆同学 时间:2021-01-16 21:26:54 

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})

来源:https://www.cnblogs.com/lutt/p/10895317.html

标签:django,scrapy,框架
0
投稿

猜你喜欢

  • 标签明晰、有效

    2010-01-18 12:22:00
  • python中使用iterrows()对dataframe进行遍历的实例

    2023-12-29 13:43:02
  • 如何在MySQL数据库中使用XML数据

    2009-12-29 10:48:00
  • 深入浅出SQL之左连接、右连接和全连接

    2009-08-30 15:14:00
  • SQL 查询性能优化 解决书签查找

    2012-10-07 10:23:56
  • Python dict的常用方法示例代码

    2023-05-17 09:58:15
  • JS实现移动端判断上拉和下滑功能

    2023-07-13 22:05:21
  • 利用Python演示数型数据结构的教程

    2022-04-29 07:05:40
  • HTML5 声明兼容IE的写法

    2011-06-06 10:34:00
  • Python爬取数据并实现可视化代码解析

    2023-08-27 07:33:02
  • 将MySQL的作为文件系统使用

    2011-12-14 18:34:26
  • Python装饰器用法实例分析

    2023-02-22 12:05:49
  • Oracle对两个数据表交集的查询

    2010-07-26 12:51:00
  • JavaScript定时器实现的原理分析

    2023-08-23 10:24:16
  • Python使用enumerate获取迭代元素下标

    2023-03-05 01:46:31
  • Oracle数据库系统使用经验六则

    2010-07-26 13:22:00
  • 功能强大的php分页函数

    2023-11-15 03:17:37
  • Python统计列表元素出现次数的方法示例

    2021-03-06 00:43:23
  • 用sqlalchemy构建Django连接池的实例

    2021-09-22 20:20:30
  • python 实现矩阵按对角线打印

    2022-08-01 02:01:07
  • asp之家 网络编程 m.aspxhome.com