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 相关文章推荐
Python3实现从指定路径查找文件的方法
May 22 Python
SQLite3中文编码 Python的实现
Jan 11 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
python基础教程项目三之万能的XML
Apr 02 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
Python理解递归的方法总结
Jan 28 Python
python 随机森林算法及其优化详解
Jul 11 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 Python
Python telnet登陆功能实现代码
Apr 16 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
python2和python3哪个使用率高
Jun 23 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 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
php设计模式 Factory(工厂模式)
2011/06/26 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
原生js实现购物车
2020/09/23 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
UML设计模式笔试题
2014/06/07 面试题
物业管理应届生求职信
2013/10/28 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
致200米运动员广播稿
2014/02/06 职场文书
有关爱国演讲稿
2014/05/07 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
门市房租房协议书
2014/12/04 职场文书
公司捐书倡议书
2015/04/27 职场文书
在校生证明
2015/06/17 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
使用python绘制分组对比柱状图
2022/04/21 Python