如何在django中运行scrapy框架
作者:小陆同学 时间:2021-01-16 21:26:54
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})
来源:https://www.cnblogs.com/lutt/p/10895317.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
标签明晰、有效
python中使用iterrows()对dataframe进行遍历的实例
![](https://img.aspxhome.com/file/2023/0/77790_0s.jpg)
如何在MySQL数据库中使用XML数据
深入浅出SQL之左连接、右连接和全连接
SQL 查询性能优化 解决书签查找
Python dict的常用方法示例代码
JS实现移动端判断上拉和下滑功能
利用Python演示数型数据结构的教程
HTML5 声明兼容IE的写法
Python爬取数据并实现可视化代码解析
![](https://img.aspxhome.com/file/2023/5/97105_0s.png)
将MySQL的作为文件系统使用
Python装饰器用法实例分析
Oracle对两个数据表交集的查询
JavaScript定时器实现的原理分析
![](https://img.aspxhome.com/file/2023/4/56094_0s.jpg)
Python使用enumerate获取迭代元素下标
Oracle数据库系统使用经验六则
功能强大的php分页函数
Python统计列表元素出现次数的方法示例
用sqlalchemy构建Django连接池的实例
python 实现矩阵按对角线打印
![](https://img.aspxhome.com/file/2023/5/75085_0s.jpg)