zoukankan      html  css  js  c++  java
  • django--中运行scrapy框架

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

    PS:网络一直不好,几张比较直观的截图粘不上来,如遇不懂,可以参考我的上一篇博客

  • 相关阅读:
    优先级队列
    内存拷贝
    快速排序
    ubuntu上编译Thrift
    Hadoop 学习总结之一:HDFS简介(zz写的很不错)
    hbase 详细解析(转载)
    HBase技术介绍简介 NOSQL数据库 入门(转载)
    SQL到NOSQL的思维转变
    Hadoop分布式文件系统:架构和设计(zz)
    zz我对技术方向的一些反思
  • 原文地址:https://www.cnblogs.com/lutt/p/10895317.html
Copyright © 2011-2022 走看看