一、框架概述
网络爬虫介绍
在介绍框架之前,简单介绍一下网络爬虫(Web Crawler)。
当我们上网时,浏览的网页上有很多形形色色的信息,我们可以手动收集(复制粘贴or下载)我们需要的信息。但是,当信息量比较多就显得很麻烦了,有没有一种方式可以自动且快捷地把一堆相关网页上的海量信息下载下来呢?有,那就是网络爬虫。
网络爬虫是一种从 Web 上自动下载网页的程序——网络爬虫把一个或多个“种子网页”作为输入,然后经过下载、分析和扫描等处理过程来获取新链接。对于指向未下载网页的链接,将它们加到一个中央 URL 队列中。然后,从队列中选择一个新的网页进行下载……如此往复,就像蛛网一样访问并下载到所有延伸的网页,在这个过程中,分析并提取网页中有用的数据,以结构化的方式存储。
事实上,所有我们所知的主要的搜索引擎(百度、Google…)都使用爬虫,有效的网络爬虫是现代搜索引擎取得成功的关键。
Scrapy是什么
Scrapy 是由 Python 语言开发的一个快速、高层次的屏幕抓取和 Web 抓取框架,用于抓取 Web 站点并从页面中提取结构化的数据。相比于传统的爬虫来说,基于 Scrapy 框架的爬虫更加结构化,同时也更加高效,能完成更加复杂的爬取任务。
Scrapy架构概览
Scrapy 框架的架构如图所示。