如何在django中運(yùn)行scrapy框架
1.新建一個(gè)django項(xiàng)目,
2.前端展示一個(gè)按鈕
<form action='/start/' method='POST'> {% csrf_token %} <input type='submit' value='啟動(dòng)爬蟲(chóng)'></form>
3.在django項(xiàng)目的根目錄創(chuàng)建scrapy項(xiàng)目
4.cmd命令行運(yùn)行:scrapyd 啟動(dòng)服務(wù)
5.將scrapy項(xiàng)目部署到當(dāng)前工程:scrapyd-deploy 爬蟲(chóng)名稱(chēng) -p 項(xiàng)目名稱(chēng)
6.views.py
# 首頁(yè)def index(request): return render(request,’index.html’,locals())def start(request): if request.method == ’POST’: # 啟動(dòng)爬蟲(chóng) url = ’http://localhost:6800/schedule.json’ data = {’project’: ’ABCkg’, ’spider’: ’abckg’} print(requests.post(url=url, data=data)) return JsonResponse({’result’:’ok’})
7.在本地6800端口點(diǎn)擊jobs當(dāng)前爬蟲(chóng)項(xiàng)目就在運(yùn)行了。
8.寫(xiě)一個(gè)按鈕,點(diǎn)擊停止scrapy爬蟲(chóng)
def stop(request): if request.method == ’POST’: # 停止爬蟲(chóng) 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、獲取項(xiàng)目列表
http://127.0.0.1:6800/listprojects.json
3、獲取項(xiàng)目下已發(fā)布的爬蟲(chóng)列表
http://127.0.0.1:6800/listspiders.json?project=myproject
4、獲取項(xiàng)目下已發(fā)布的爬蟲(chóng)版本列表
http://127.0.0.1:6800/listversions.json?project=myproject
5、獲取爬蟲(chóng)運(yùn)行狀態(tài)
http://127.0.0.1:6800/listjobs.json?project=myproject
6、啟動(dòng)服務(wù)器上某一爬蟲(chóng)(必須是已發(fā)布到服務(wù)器的爬蟲(chóng))
http://localhost:6800/schedule.json
(post方式,data={'project':myproject,'spider':myspider})
7、刪除某一版本爬蟲(chóng)
http://127.0.0.1:6800/delversion.json -d project=項(xiàng)目名 -d versions
(post方式,data={'project':myproject,'version':myversion})
8、刪除某一工程,包括該工程下的各版本爬蟲(chóng)
http://127.0.0.1:6800/delproject.json
(post方式,data={'project':myproject})
9、取消爬蟲(chóng)
http://127.0.0.1:6800/cancel.json
(post方式,data={'project':myproject,’job’:myjob})
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. CSS代碼檢查工具stylelint的使用方法詳解2. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)3. WML語(yǔ)言的基本情況4. 詳解CSS偽元素的妙用單標(biāo)簽之美5. 不要在HTML中濫用div6. div的offsetLeft與style.left區(qū)別7. 前端html+css實(shí)現(xiàn)動(dòng)態(tài)生日快樂(lè)代碼8. 使用css實(shí)現(xiàn)全兼容tooltip提示框9. html清除浮動(dòng)的6種方法示例10. 利用CSS3新特性創(chuàng)建透明邊框三角
