您的位置:首页 > 编程语言 > Go语言

django--中运行scrapy框架

2020-06-23 12:34 471 查看

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

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:网络一直不好,几张比较直观的截图粘不上来,如遇不懂,可以参考我的上一篇博客

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息