前面通过urllib和beautifulsoup库是可以实现复杂的功能,不过这样实现往往比较费时间,也是一种重复造轮子的过程,如果为了研究编写爬虫引擎,这是可以采用这种方法的。但是我们大多数人,并不是开发引擎,而是直接写一些爬虫来抓取数据,就可以完成任务了。另外有一些现成的开源代码框架,也是一个很好的学习平台,也是一个可以复用的平台。
开源的爬虫框架有很多种,但是使用python语言开发,并且很有名的就是scrapy了。今天就开始来学习这个著名的爬虫框架,作为一个框架,它把爬虫的开发任务简单化,为什么这样说呢?因为开发爬虫过程有很多功能是一样的,比如异步执行,网站数据下载,网页内容查询,数据保存等。如果开发多个爬虫,就会导致写同样的内容,因此框架就提供了一大堆基础组件,这些组件是可以复用的,可以共享使用的,从头来创建一个新的爬虫也是几分钟的事情,让开发爬虫的工作主要集中在分析网页的源码、分析登录的验证码和对抗反爬虫的机制里。
要学习scrapy框架,最简单,最直接的方法就是实操,当然在这个过程中会比较痛苦的,也会让人百思不得其解的,但是除了这个方法,没有别的路可以走了。我们先来到scrapy的网站: