软件工程阅读笔记(四)之Python网络爬虫
网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层页面爬虫。实际的网络爬虫系统通常是几种爬虫技术相结合实现的。
1、通用网络爬虫
通用网络爬虫又称全网爬虫,爬行对象从一些种子URL扩充到整个Web,主要为门户站点、搜索引擎和大型Web服务提供商采集数据。
2、聚焦网络爬虫
聚焦网络爬虫是指选择性地爬行那些与预先定义好的主题相关页面的网络爬虫。与通用网络爬虫相比,聚焦网络爬虫只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也因数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。聚焦网络爬虫是需要我们关注的重点爬虫类型。
3、增量式网络爬虫
增量式网络爬虫是指对已下载网页采取增量式更新和只爬行新产生的或者已经发生变化的网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。与周期性爬行和刷新页面的网络爬虫相比,增量式爬虫只会在需要的时候爬行新产生或发生更新的页面,并不重新下载没有发生变化的页面,可有效减少数据下载量,及时更新已爬行的网页,减小时间和空间上的耗费,但是增加了爬行算法的复杂度和实现难度。后面的章节将对增量式网络爬虫和去重方法做简要介绍。
4、深层页面爬虫
Web页面按存在方式分为表层网页和深层网页。表层网页是传统搜索引擎可以索引的页面,是以超链接可以到达的静态网页为主构成的Web页面。深层网页是大部分内容不能通过静态链接获取的,隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。例如哪些用户注册后内容才可见的网页就属于深层页面。后面的章节将向读者介绍让爬虫登录一个网站、爬取深层页面的方法。