装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

栏目: 编程工具 · 发布时间: 6年前

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

可以看到,scrapy单机模式,通过一个scrapy引擎通过一个调度器,将Requests队列中的request请求发给下载器,进行页面的爬取。

那么多台主机协作的关键是共享一个爬取队列。

所以,单主机的爬虫架构如下图所示:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

前文提到,分布式爬虫的关键是共享一个requests队列,维护该队列的主机称为master,而从机则负责数据的抓取,数据处理和数据存储,所以分布式爬虫架构如下图所示:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

2、环境配置

目前已经有专门的 python 库实现了分布式架构。Scrapy-Redis库改写了Scrapy的调度器,队列等组件,可以方便的实现Scrapy分布式架构。

Scrapy-Redis链接:https://github.com/rolando/scrapy-redis

不过,想要运用这个库,我们需要安装 Redis 数据库

(1)windows安装redis

下载地址:https://github.com/MSOpenTech/redis/releases

下载完成后,安装即可,非常简单(其实这里没有用到windows的redis,不过装一装也不麻烦),安装完成后,windows的本地redis服务是默认启动的。

接下来可以继续安装一个redis可视化工具,Redis Desktop Manager

下载地址:https://github.com/uglide/RedisDesktopManager/releases

我们选择一个比较稳定的版本进行下载:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

安装完成,我们可以测试一下本地的redis环境,输入我们的连接信息:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

(3)windows下访问虚拟机redis

我们选择使用虚拟机上的redis数据库来维护爬取队列,所以接下来,我们使用windows下的可视化客户端访问虚拟机下的redis:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

可以看到,成功访问:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

3、代码实现

使用Scrapy-Redis实现分布式爬虫,需要在scrapy的setting.py中添加如下的配置,当然还有很多其他可用配置,这里只需添加如下的几个就可以实现分布是爬取:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

而redis中,则维护了一个爬取队列:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

短短几分钟,我们就抓取了百度贴吧聊天吧的100页帖子3900+条,存入了本地的 mongodb 数据库:

装个虚拟机,然后拿来玩爬虫!也是极好的!Scrapy分布式爬虫!

至此,分布式爬虫练手完毕!

如果想要学习python爬虫的话,

进群:125240963    即可获取数十套PDF哦!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程珠玑

编程珠玑

Jon Bentley / 黄倩、钱丽艳 / 人民邮电出版社 / 2008-10 / 39.00元

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有......一起来看看 《编程珠玑》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具