互联网中一部分网页因为各种各样的原因存在
url 重定向状态,为了对这部分资源正常
抓取,就要求
spider 对 url 重定向进行识别判断,同时防止作弊行为。重定向可分为三类:
http 30x 重定向、meta refresh 重定向和 js 重定向。另外,百度也支持 Canonical 标签,在效果
上可以认为也是一种间接的重定向。
4、抓取优先级调配
由于互联网资源规模的巨大以及迅速的变化,对于搜索引擎来说全部抓取到并合理的
更新保持一致性几乎是不可能的事情,因此这就要求抓取系统设计一套合
理的抓 取优先级
调配策略。主要包括:深度优先遍历策略、宽度优先遍历策略、
pr 优先策略、反链策略、社会化
分享指导策略等等。每个策略各有优劣,在实际情况中往
往是多种策略结合使用以达到最
优的抓取效果。
5、重复 url 的过滤
spider 在抓取过程中需要判断一个页面是否已经抓取过了,如果还没有抓取再进行抓
取网页的行为并放在已抓取网址集合中。判断是否已经抓取其中涉
及到最 核心的是快速查
找并对比,同时涉及到
url 归一化识别,例如一个 url 中包含大量无效参数而实际是同一个
页面,这将视为同一个
url 来对待。
6、暗网数据的获取
互联网中存在着大量的搜索引擎暂时无法抓取到的数据,被称为暗网数据。一方面,很
多网站的大量数据是存在于网络数据库中,
spider 难以采用抓取 网页的 方式获得完整内容;
另一方面,由于网络环境、网站本身不符合规范、孤岛等等问题,也会造成搜索引擎无法抓
取。目前来说,对于暗网数据的获取主要思路仍然是
通过开放平台采用数据提交的方式来
解决,例如
“百度站长平台”“百度开放平台”等等。
7、抓取反作弊
spider 在抓取过程中往往会遇到所谓抓取黑洞或者面临大量低质量页面的困扰,这就
要求抓取系统中同样需要设计一套完善的抓取反作弊系统。例如分析
url 特征、分析页面大小
及内容、分析站点规模对应抓取规模等等。