python之简单Scrapy分布式爬虫的实现

本文介绍了如何利用Scrapy和Scrapy.Redis构建分布式爬虫,以提高爬取速度。首先,讲述了分布式爬虫的基本原理和主从配置的重要性,接着详细阐述了实现步骤,包括设置RedisCrawSpider、定义爬取规则、处理获取的数据、定义items及settings的配置,并最终通过启动master和slave来运行分布式爬虫。
摘要由CSDN通过智能技术生成

分布式爬虫:爬虫共用同一个爬虫程序,即把同一个爬虫程序同时部署到多台电脑上运行,这样可以提高爬虫速度。

在默认情况下,scrapy爬虫是单机爬虫,只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都是在本机上创建的,其他的电脑无法访问另外一台电脑上的内存的内容;想要让多台机器共用一个queue队列和set集合,可以让scrapy结合scrapy_redis来完成。

要实现分布式爬虫,首先要配置服务器主从:

配置主从的目的:

1、达到一个备份的功能,一旦master出现崩溃,而数据库中还有数据的话

可以将其中的一个slave重新设置为主服务器,从而恢复Redis的正常运行

2、一个Redis服务器负责读写,性能较低,通过主从来减轻一个Redis的压力

下面通过爬伯乐在线来介绍具体怎么实现:

第一步:

在爬虫文件中引入RedisCrawSpider和Rule

from scrapy_redis.spiders import RedisCrawlSpider
from scrapy.spiders import Rule

让类继承RedisCrawSpider

class BlogSpider(RedisCrawlSpider):
    name = 'blog'
    #允许爬虫的范围
    allowed_domains = ['blog.jobbole.com']
    #用于查找所有符合给定模式的key
    redis_key = 'blogspider:start_urls'
<
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值