最近在工作中一直使用 redis
来管理分发爬虫任务,让我对 scrapy-redis
有很深刻的理解,下面让我慢慢说来。
在所有的问题开始之前,要先有一个前提:你使用
Scrapy
框架做开发
结论
scrapy-redis
与 Scrapy
的关系就像电脑与固态硬盘一样,是电脑中的一个插件,能让电脑更快的运行。
Scrapy
是一个爬虫框架,scrapy-redis
则是这个框架上可以选择的插件,它可以让爬虫跑的更快。
为什么使用 scrapy-redis
首先,在实际开发中,我们总会对爬虫速度表示不满,为啥这么慢,能不能跑快点。除了爬虫本身的优化,我们就要引入分布式爬虫
的概念。
我自己对分布式爬虫
的理解就是:多个爬虫执行同一个任务
这里说下,
Scrapy
本身是不支持分布式的,因为它的任务管理和去重全部是在机器内存中实现的。
在 Scrapy
中最出名的分布式插件就是scrapy-redis
了,scrapy-redis
的作用就是让你的爬虫快、更快、超级快。
scrapy-redis
如何工作
最简单的方式是使用