如何在django中運行scrapy框架
1.新建一個django項目,
2.前端展示一個按鈕
<form action='/start/' method='POST'> {% csrf_token %} <input type='submit' value='啟動爬蟲'></form>
3.在django項目的根目錄創(chuàng)建scrapy項目
4.cmd命令行運行:scrapyd 啟動服務(wù)
5.將scrapy項目部署到當(dāng)前工程: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當(dāng)前爬蟲項目就在運行了。
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’})
總結(jié):
----------------scrapyd 管理----------------------
1、獲取狀態(tài)
http://127.0.0.1:6800/daemonstatus.json
2、獲取項目列表
http://127.0.0.1:6800/listprojects.json
3、獲取項目下已發(fā)布的爬蟲列表
http://127.0.0.1:6800/listspiders.json?project=myproject
4、獲取項目下已發(fā)布的爬蟲版本列表
http://127.0.0.1:6800/listversions.json?project=myproject
5、獲取爬蟲運行狀態(tài)
http://127.0.0.1:6800/listjobs.json?project=myproject
6、啟動服務(wù)器上某一爬蟲(必須是已發(fā)布到服務(wù)器的爬蟲)
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})
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用ajax+php實現(xiàn)商品價格計算2. Java實現(xiàn)UDP通信過程實例分析【服務(wù)器端與客戶端】3. JS圖片懶加載庫VueLazyLoad詳解4. Java PreparedStatement用法詳解5. Python 解決火狐瀏覽器不彈出下載框直接下載的問題6. Java利用TCP協(xié)議實現(xiàn)客戶端與服務(wù)器通信(附通信源碼)7. 使用AJAX(包含正則表達(dá)式)驗證用戶登錄的步驟8. Java實現(xiàn)的迷宮游戲9. HTML <!DOCTYPE> 標(biāo)簽10. Spring如何集成ibatis項目并實現(xiàn)dao層基類封裝

網(wǎng)公網(wǎng)安備