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

作者:mankvis 时间:2023-06-24 18:12:20 

准备工作

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) 效果:所有爬虫都开始运行,并且数据还都不一样

来源:https://blog.csdn.net/baoshuowl/article/details/79701303

标签:Scrapy,redis,分布式爬虫
0
投稿

猜你喜欢

  • django 通过url实现简单的权限控制的例子

    2022-02-05 07:07:50
  • Python图像处理二值化方法实例汇总

    2021-04-10 21:41:33
  • PHP/ThinkPHP实现批量打包下载文件的方法示例

    2024-05-11 09:49:00
  • python使用QQ邮箱实现自动发送邮件

    2021-03-03 22:10:06
  • Python设计模式之状态模式原理与用法详解

    2022-04-16 06:37:36
  • Python树莓派学习笔记之UDP传输视频帧操作详解

    2023-04-21 10:03:20
  • 如何隐藏IP地址的最后一位

    2011-04-04 16:38:00
  • python实现图片识别汽车功能

    2022-05-16 11:10:24
  • python实现批量转换文件编码(批转换编码示例)

    2023-07-28 22:03:47
  • Win10环境python3.7安装dlib模块趟过的坑

    2021-03-25 14:09:25
  • centos6.7 安装python2.7、pip2.7、easy_install-2.7的方法

    2021-02-06 09:20:35
  • SQL Server 2005 还原数据库错误解决方法

    2024-01-14 05:45:43
  • Python OpenCV超详细讲解调整大小与图像操作的实现

    2022-07-09 21:16:27
  • python如何为list实现find方法

    2022-01-14 09:15:56
  • MySQL分区表的正确使用方法

    2024-01-29 01:51:26
  • python的简单web框架flask快速实现详解

    2023-03-10 08:26:36
  • python入门之基础语法学习笔记

    2022-09-08 18:15:49
  • pandas读取Excel批量转换时间戳的实践

    2023-04-20 12:47:07
  • Flask 使用类组织配置详情

    2023-06-15 02:31:30
  • 简单谈谈mysql左连接内连接

    2024-01-13 06:54:24
  • asp之家 网络编程 m.aspxhome.com