5.1 Scrapy简介
谈起爬虫必然要提起Scrapy框架,因为它能够帮助提升爬虫的效率,从而更好地实现爬虫。Scrapy是一个为了抓取网页数据、提取结构性数据而编写的应用框架,该框架是封装的,包含request(异步调度和处理)、下载器(多线程的Downloader)、解析器(selector)和twisted(异步处理)等。对于网站的内容爬取,其速度非常快捷。
也许读者会感到迷惑,有这么好的爬虫框架,为什么前面的章节还要学习使用requests库请求网页数据。其实,requests是一个功能十分强大的库,它能够满足大部分网页数据获取的需求。其工作原理是向服务器发送数据请求,至于数据的下载和解析,都需要自己处理,因而灵活性高;而由于Scrapy框架的封装,使得其灵活性降低。至于使用哪种爬虫方式,完全取决于个人的实际需求。在没有明确需求之前,笔者依然推荐初学者先选择requests库请求网页数据,而在业务实战中产生实际需求时,在考虑Scrapy框架。