Scrapy基于scrapy_redis实现分布式爬虫部署的示例


Posted in Python onSeptember 29, 2020

准备工作

1.安装scrapy_redis包,打开cmd工具,执行命令pip install scrapy_redis

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

2.准备好一个没有BUG,没有报错的爬虫项目

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

3.准备好redis主服务器还有跟程序相关的mysql数据库

前提mysql数据库要打开允许远程连接,因为mysql安装后root用户默认只允许本地连接,详情请看此文章

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

部署过程

1.修改爬虫项目的settings文件

在下载的scrapy_redis包中,有一个scheduler.py文件,里面有一个Scheduler类,是用来调度url,还有一个dupefilter.py文件,里面有个类是RFPDupeFilter,是用来去重,所以要在settings任意位置文件中添加上它们

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

还有在scrapy_redis包中,有一个pipelines文件,里面的RedisPipeline类可以把爬虫的数据写入redis,更稳定安全,所以要在settings中启动pipelines的地方启动此pipeline

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

最后修改redis连接配置

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

2.修改spider爬虫文件

首先我们要引入一个scrapy_redis.spider文件中的一个RedisSpider类,然后把spider爬虫文件原来继承的scrapy.Spider类改为引入的RedisSpider这个类

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

接着把原来的start_urls这句代码注释掉,加入redis_key = '自定义key值',一般以爬虫名:urls命名

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

测试部署是否成功

直接运行我们的项目,

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

打开redis客户端在redis添加key为yunqi:start_urls的列表,值为地址

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

添加成功后,程序直接跑了起来

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

查看数据是否插入

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

Scrapy基于scrapy_redis实现分布式爬虫部署的示例

分布式用到的代码应该是同一套代码
1) 先把项目配置为分布式
2) 把项目拷贝到多台服务器中
3) 把所有爬虫项目都跑起来
4) 在主redis-cli中lpush你的网址即可
5) 效果:所有爬虫都开始运行,并且数据还都不一样

到此这篇关于Scrapy基于scrapy_redis实现分布式爬虫部署的示例的文章就介绍到这了,更多相关Scrapy redis分布式爬虫 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python打包可执行文件的方法详解
Sep 19 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
解决python tkinter界面卡死的问题
Jul 17 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
Python datetime包函数简单介绍
Aug 28 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
浅析python 字典嵌套
Sep 29 #Python
详解基于Scrapy的IP代理池搭建
Sep 29 #Python
Python 创建守护进程的示例
Sep 29 #Python
Python 解析xml文件的示例
Sep 29 #Python
Python 字典一个键对应多个值的方法
Sep 29 #Python
python 获取字典特定值对应的键的实现
Sep 29 #Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 #Python
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
简明 Python 基础学习教程
2007/02/08 Python
python写的一个文本编辑器
2014/01/23 Python
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
考博专家推荐信模板
2013/12/02 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
青年志愿者活动总结
2014/04/26 职场文书
政府个人对照检查材料
2014/08/28 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
个人整改措施书面材料
2014/10/24 职场文书
2014年食堂工作总结
2014/11/20 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
Elasticsearch 配置详解
2022/04/19 Java/Android