今天就跟大家聊聊有关一文教你使用scrapy-redis组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
目前累计服务客户上千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都做网站、网站制作、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。成都创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。简介
scrapy-redis是一个基于redis的scrapy组件,用于快速实现scrapy项目的分布式部署和数据爬取,其运行原理如下图所示。
Scrapy-Redis特性
分布式爬取
你可以启动多个共享同一redis队列的爬虫实例,多个爬虫实例将各自提取到或者已请求的Requests在队列中统一进行登记,使得Scheduler在请求调度时能够对重复Requests进行过滤,即保证已经由某一个爬虫实例请求过的Request将不会再被其他的爬虫实例重复请求。
分布式数据处理
将scrapy爬取到的items汇聚到同一个redis队列中,意味着你可以根据你的需要启动尽可能多的共享这个items队列的后处理程序。
Scrapy即插即用组件
Scheduler调度器 + Duplication重复过滤器、Item Pipeline、基础Spider爬虫
Scrapy-Redis示例
本文将以爬取京东所有图书分类下的图书信息为例对Scrapy-Redis的用法进行示例。
开发环境
下面列举出了 Python 中 Scrapy-Redis 所需要的各个模块及其版本:
在开发之前需要先安装好以上模块,以scrapy-redis-cluster模块为例,使用pip进行安装的命令如下:
pip install scrapy-redis-cluster # 安装模块 pip install scrapy-redis-cluster==0.4 # 安装模块时指定版本 pip install --upgrade scrapy-redis-cluster # 升级模块版本