聚焦网络爬虫(focusedcrawler)也就是主题网络爬虫。聚焦爬虫技术增加了链接评价和内容评价模块,其爬行策略实现要点就是评价页面内容以及链接的重要性。
基于链接评价的爬行策略,主要是以Web页面作为半结构化文档,其中拥有很多结构信息可用于评价链接重要性。还有一个是利用Web结构来评价链接价值的方法,也就是HITS法,其通过计算每个访问页面的Authority权重和Hub权重来决定链接访问顺序。
【例1】一个简单的爬取图片的聚焦爬虫
通用爬虫技术(generalpurposeWebcrawler)也就是全网爬虫。其实现过程如下。
通用爬虫技术的应用有着不同的爬取策略,其中的广度优先策略以及深度优先策略都是比较关键的,如深度优先策略的实施是依照深度从低到高的顺序来访问下一级网页链接。
关于通用爬虫使用方法的示例如下。
【例2】爬取京东商品信息
增量爬虫技术(incrementalWebcrawler)就是通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新后的新数据。
关于如何进行增量式的爬取工作,以下给出三种检测重复数据的思路:
不难发现,实现增量爬取的核心是去重。目前存在两种去重方法。
关于增量爬虫的使用方法示例如下所示。
【例3】爬取4567tv网站中所有的电影详情数据
fromredisimportRedisclassIncrementproPipeline(object):conn=Nonedefopen_spider(self,spider):self.conn=Redis(host='127.0.0.1',port=6379)defprocess_item(self,item,spider):dic={'name':item['name'],'kind':item['kind']}print(dic)self.conn.push('movieData',dic)#如果push不进去,那么dic变成str(dic)或者改变redis版本pipinstall-Uredis==2.10.6returnitem04深层网络爬虫技术
在互联网中,网页按存在方式可以分为表层网页和深层网页两类。
所谓的表层网页,指的是不需要提交表单,使用静态的链接就能够到达的静态页面;而深层网页则隐藏在表单后面,不能通过静态链接直接获取,是需要提交一定的关键词后才能够获取到的页面,深层网络爬虫(deepWebcrawler)最重要的部分即为表单填写部分。
在互联网中,深层网页的数量往往要比表层网页的数量多很多,故而,我们需要想办法爬取深层网页。
深层网络爬虫的基本构成:URL列表、LVS列表(LVS指的是标签/数值集合,即填充表单的数据源)、爬行控制器、解析器、LVS控制器、表单分析器、表单处理器、响应分析器。