基于scrapy_redis部署scrapy分布式爬虫

1使用命令行下载包 scrapy_redis

使用pycharm打开项目,找到settings文件,配置scrapy项目使用的调度器及过滤器


这个让scrapy不使用自己的调度器,使用scrapy_redis重写的调度器

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

这个是让scrapy使用scrapy_redis重写的去重方法,运用redis的去重方法

保证多台电脑运行的时候,不会爬取相同的url

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

这个是让爬取的item也在redis中备份一份,保证数据不会丢失。

'scrapy_redis.pipelines.RedisPipeline': 300

这个使用让多个爬虫文件从哪个ip地址的主机下拿去url。

3) 在settings.py中添加下面一句话,用于配置redis
REDIS_URL = 'redis://root:@192.168.9.211:6379'(自己的IP地址,Redis默认端口是6379)


==========


3) 修改爬虫的类文件
from scrapy_redis.spiders import RedisSpider
类需要继承自RedisSpider

start_urls给注释掉,一般命名方法是:爬虫名:start_urls 方便区分记忆。

redis_key = 'jobbole:start_urls'

2. 如果连接的有远程服务,例如MySQL,Redis,需要将远程服务连接开启,保证在其他主机上能够成功连接



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

====

2. 配置远程连接的MySQLredis地址


----------------------------------------------------------------------

分布式爬虫主机需要开启 redis-server redis.windows.conf 开启服务器端口,并开启(redis-cli -h ip地址 -p 端口号)

来开启客户端端口,用来lpush 网址

分机只需要接收文件,正常运行就好了














  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy Redis是一个用于分布式爬取网页的Python框架。它是基于Scrapy框架的扩展,采用Redis作为分布式队列,可以在多个爬虫节点之间共享任务和数据。通过引入scrapy_redis.spider文件中的RedisSpider类,可以将原来继承的scrapy.Spider类改为RedisSpider类,从而实现对分布式爬虫的支持。 在使用分布式爬虫的过程中,首先需要将项目配置为分布式,并将项目拷贝到多台服务器中。然后启动所有的爬虫项目,这样每个爬虫节点都可以独立运行。接下来,在主redis-cli中使用lpush命令将需要爬取的网址推送到Redis队列中。这样,所有的爬虫节点都会开始运行,同时获取不同的任务和数据,实现分布式爬取的效果。 要使用Scrapy Redis进行分布式爬取,首先需要安装scrapy_redis包。可以通过在CMD工具中执行命令"pip install scrapy_redis"来进行安装。安装完成后,就可以在项目中使用scrapy_redis进行分布式爬取了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Scrapy基于scrapy_redis实现分布式爬虫部署](https://blog.csdn.net/baoshuowl/article/details/79701303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值