网络机器人也叫网络蜘蛛(Web Spider),是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络机器人通过网页的链接地址来寻找网页,通常由网站首页开始,根据链接依次抓取网页。
并非所有的网络机器人都是搜索引擎,同样会有翻译服务、订阅服务、阅读器等,甚至还有许多恶意机器人也会市场来访问你的网站。所以对网站中网络机器人相关的数据统计和分析也是部分必要的。
统计机器人信息的作用
- 分析页面是否被搜索引擎编入
- 统计搜索引擎搜索频率
- 找出哪些页面被搜索引擎忽略了
- 识别恶意机器人
恶意机器人行为特征
恶意机器人对网站的负面影响有时是十分显著的,所以我们需要通过数据分析来找出它们,并且屏蔽他们的访问或抓取行为。
通常恶意机器人通过抓取网站信息来获得用户的隐私信息,或者获取网站中受保护的或私有的信息,通过将出售这些用户信息获利;或者恶意机器人通过不断地爬取给网站造成不必要的负担,降低网站的访问性能,从而影响其他正常用户的访问。恶意机器人的行为特征主要有如下几种:
- 忽略robot.txt的说明;
- 访问robot.txt中被禁止抓取的页面;
- 快速地索引整个网站从而降低真正用户的性能;
- 通过动态页面紧跟你不想索引的链接。
识别恶意机器人的方法
既然恶意机器人的行为对网站有害,那么我们如何有效地去识别哪些是恶意机器人呢?下面有三种常用的方法:
1) 通过Agent字段,建立网络机器人白名单;
因为一般像google、baidu等搜索引擎的机器人都会在Agent信息中标明自己的身份,我们可以将这些机器人建立白名单,允许其对网站的访问和抓取。
2) 检查发出请求的IP和域名;
与Agent识别类似,通过IP或者域名进行识别也是比较有效的一个方法,因为一些常见的机器人的IP地址区间及其域名都是相对固定的,网上也有相关的列表提供参考。
3) 统计所有查看过robot.txt的会话及用户。
一般只有机器人或者某些想窥视信息的人才会访问robots.txt,通过统计网站的robots.txt被那些用户访问了,可以进一步确定是否有恶意机器人的存在。
写的真不错,我会支持你的,准备把你的所有博文全都看完!
这个对seo用处很大!
这类机器人是怎么实现的呢?
@localtest: 呵呵,这个就是技术的问题了,这里就不去讨论了