Python爬虫 scrapy框架(五)分布式爬虫 scrapy-redis

scrapy框架

分布式爬虫

概念

搭建一个分布式的机群,让其对一组资源进行分布联合爬取

作用

提升爬取数据的效率

实现

原生的scrapy是不可以实现分布式爬虫的,必须结合着scrapy-redis组件一起实现分布式爬虫。

  1. 调度器不可以被分布式机群共享
  2. 管道不可以被分布式机群共享

安装scrapy-redis组件

 pip install scrapy-redis

scrapy-redis作用:

  1. 可以给原生的scrapy框架提供可以被共享的管道和调度器
实现流程
  1. 创建一个工程
  2. 创建一个基于CrawlSpider的爬虫文件
  3. 修改爬虫文件
    导包:from scrapy_redis.spiders import RedisCrawlSpider
    将爬虫类文件的父类改为RedisCrawlSpider
    注释:allowed_domains、start_urls
    添加新属性:redis_key = ‘xxxx’ (可以被共享的调度器名称)
    编写数据解析操作
  4. 修改配置文件settings
    指定可以共享的管道和调度器
    指定redis ip和地址(不设置默认本机)
  5. redis相关操作配置
    配置redis的配置文件
  6. 执行工程 scrapy runspider xxx.py
  7. 向调度器队列放入起始url:lpush 调度器名称 起始url
创建工程
scrapy startproject fbsPro
cd fbsPro
scrapy genspider -t crawl fbs www.xxx.com
修改爬虫文件
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
fr
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值