您好,登录后才能下订单哦!
这篇文章主要讲解了在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})
看完上述内容,是不是对在django中运行scrapy框架的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。