前 言
随着互联网的发展,人们经常通过网络获取信息。在互联网发展初期,人们主要通过浏览门户网站的方式获取所需信息,但是随着Web的急速发展,用这种方式寻找所需的信息变得越来越困难。目前,人们大多通过搜索引擎获取有用信息,因此搜索引擎技术的发展将直接影响人们获取信息的速度和质量。
1994年,世界上第一个网络检索工具Web Crawler问世,目前较流行的搜索引擎有Baidu、Google、Yahoo、Infoseek、Inktomi、Teoma、Live Search等。出于保护商业机密的考虑,现在各个搜索引擎使用的Crawler 系统的技术内幕一般都不公开,现有的文献资料也仅限于概要性介绍。随着网络信息资源呈指数级增长及网络信息资源的动态变化,传统的搜索引擎提供的信息检索已无法满足人们日益增长的对个性化服务的需求。以何种策略访问网络,提高搜索效率,已成为近年来专业搜索引擎网络爬虫研究的主要问题之一。
网络爬虫源自Spider(或Crawler、robots、wanderer)等的意译。网络爬虫的定义有广义和狭义之分。狭义的网络爬虫定义认为:网络爬虫是指利用标准的HTTP 协议,根据超级链接和Web 文档检索的方法遍历万维网信息空间的软件程序。广义的网络爬虫定义认为:所有能利用HTTP协议检索Web 文档的软件都可称为网络爬虫。
网络爬虫是一个功能强大的自动提取网页的程序,它为搜索引擎从万维网下载网页,是搜索引擎的重要组成部分。它通过请求站点上的HTML文档访问某一站点。网络爬虫遍历Web 空间,不断地从一个站点移动到另一个站点,自动建立索引,并加入到网页数据库中。当它进入某个超级文本时,利用HTML 的标记结构来搜索信息并获取指向其他超级文本的URL 地址,可以完全不依赖用户干预实现网络上的自动“爬行”和搜索。网络爬虫在搜索时往往采用一定的搜索策略。
那么,网络爬虫如何爬取数据呢?它又有哪些种类呢?本书分7个项目进行了详细的介绍:基于requests+xpath采集网站文本数据、使用feapder爬虫框架爬取房屋租售数据、使用分布式爬虫采集金融数据、使用批次分布式爬虫采集天气数据、使用Scrapy爬虫爬取电影数据、App爬虫的实践、企业项目部署与应用。
本书由郑淑晖、张正球担任主编,其中郑淑晖负责项目一至项目四的编写,张正球负责项目五至项目七的编写。
由于时间紧迫和编者的水平所限,书中难免有疏漏之处,敬请读者批评指正。
编 者