微信搜索关注「水滴与银弹」公众号,第一时间获取优质技术干货。7年资深后端研发,用简单的方式把技术讲清楚。
在爬虫开发领域,使用最多的主流语言主要是 Java 和 Python 这两种,如果你经常使用 Python 开发爬虫,那么肯定听说过 Scrapy 这个开源框架,它正是由Python编写的。
Scrapy 在开源爬虫框架中名声非常大,几乎用 Python 写爬虫的人,都用过这个框架。而且业界很多开源的爬虫框架都是模仿和参考 Scrapy 的思想和架构实现的,如果想深入学习爬虫,研读 Scrapy 的源码还是很有必要的。
从这篇文章开始,我就和你分享一下当时我在做爬虫时,阅读 Scrapy 源码的思路和经验总结。
这篇文章我们先来介绍一下 Scrapy 的整体架构,从宏观层面上学习一下 Scrapy 运行的流程。之后的几篇文章,我会带你深入到每个模块,剖析这个框架的实现细节。
介绍
首先,我们先来看一下 Scrapy 的官方是如何介绍它的。从官方网站,我们可以看到 Scrapy 如下定义。
Scrapy 是一个基于 Python 语言编写的开源爬虫框架,它可以帮你快速、简单的方式构建爬虫,并从网站上提取你所需要的数据。
也就是说,使用 Scrapy 能帮你快速简单的编写一个爬虫,用来抓取网站数据。
本篇文章不再介绍 Scrapy 的安装和使用,这个系列主要通过阅读源码讲解 Scrapy 的实现思路,关于如何安装和使用的问题,请参考官方网站