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:網絡一直不好,幾張比較直觀的截圖粘不上來,如遇不懂,可以參考我的上一篇博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM