基于scrapy_redis建立scrapy的分布式爬虫

前记:

       我们都是知道scrapy爬虫框架是一个Python的一个很强大的爬虫框架,也是被很多用Python写爬虫的使用者熟知的一个框架,而今天我们就来看看基于scrapy_redis所建立的分布式scrapy爬虫的强大。

1.准备

首先我们需要准备一个写过scrapy的爬虫,并且用MySQL异步存储的

我们需要下载scrapy_redis工具包,就简单的打开我们命令行工具然后进入我们所需要下载的环境里,如果你用的是虚拟环境就打开你的虚拟环境下载,如果就是普通的环境就打开普通的环境下载,输入 pip install scrapy_redis       然后等待下载完毕。

然后下载完成后,打开我们随便写的一个scrapy爬虫项目然后点击进settings的py文件里配置我们所需要的过滤器和调度器

如下代码:

# 这个调度器是scrapy_redis里面的,为了保证里面所有主机爬去的url是不通的
SCHEDULER = 'scrapy_redis.scheduler.Scheduler'

然后在配置一个scrapy_redis的去重类:

DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'

最后在setting是中我们给加入我们要连接的redis地址

# 配置远程连接MySQL的链接
MYSQL_HOST = '192.168.216.77'

配置完了settings里面然后我们点入spider文件夹里的爬虫文件继续配置,就像下图一样

one:我们需要进入这个爬虫文件中,先引入图中的第一个one框中的

two:然后注释掉start_urls这一行,但是不要删掉,稍后需要的

three:最后我们在这个框中写入如图中的代码,redis_key = 'xxxx:start_urls'是固定的,像我写的xxx是你的爬虫的名字

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

将账户host改成%,即可远程使用该账户访问MySQL

打开我们redis服务

最后我们给项目打包给多台服务器中,然后我们在每台服务器中run起来

如上图,输入上面的指令后我们的爬虫才算正式的运行起来了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值