爬虫
一种按照一定的规则,自动地抓取万维网信息的程序或者脚本(搜索引擎的核心业务)
构建时的问题
- 对抓取目标的描述或定义
- 对网页或数据的分析与过滤
- 对URL的搜索策略
运行时的问题
爬虫运行时主要面临的额问题:web互联网内容巨大众多,提取的效率和存储量的巨大
主要类型
通用型爬虫
- 特性:由于商业原因,它们的技术细节很少公布出来
- 爬行范围和数量巨大,对于爬行速度和存储空间要求较高,对于爬行页面的顺序要求相对较低
- 由于待刷新的页面太多,通常采用并行工作方式,大多数需要较长时间才能刷新一次页面。
- 结构上大致可以分为爬行模块、页面分析模块、链接过滤模块、页面数据库、URL 队列、初始 URL 集合几个部分。
- 常用的爬行策略有:深度优先策略、广度优先策略
聚焦网络爬虫(主题网络爬虫)
- 特性:聚焦爬虫只需要爬行与主题相关的页面,极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快,还可以很好地满足一些特定人群对特定领域信息的需求。
- 增加了链接评价模块以及内容评价模块。聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性。
增量式网络爬虫
- 特性:只爬行新产生的或者已经发生变化网页的爬虫,它能够在一定程度上保证所爬行的页面是尽可能新的页面。
Deep Web 爬虫
- Web 页面按存在方式可以分为 表层网页 和 深层网页
- 表层页面:传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成
- 深层页面:大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得
- 六个基本功能模块 (爬行控制器、解析器、表单分析器、表单处理器、响应分析器、LVS(标签/数值集合)控制器)
GH上有许多的开源爬虫代码和工具可以使用。
相关资料: