网络蜘蛛(Web Spider),是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛通过网页的链接地址来寻找网页,通常由网站首页开始,根据链接依次抓取网页。
并非所有的网络蜘蛛都是搜索引擎,同样会有翻译服务、订阅服务、阅读器等,甚至还有许多恶意蜘蛛也会市场来访问你的网站。所以对网站中网络蜘蛛相关的数据统计和分析也是部分必要的。
统计蜘蛛信息的作用有哪些呢?
1、分析页面是否被搜索引擎编入
2、统计搜索引擎搜索频率
3、找出哪些页面被搜索引擎忽略了
4、识别恶意蜘蛛
恶意蜘蛛行为特征
恶意蜘蛛对网站的负面影响有时是十分显著的,所以我们需要通过数据分析来找出它们,并且屏蔽他们的访问或抓取行为。
通常恶意蜘蛛通过抓取网站信息来获得用户的隐私信息,或者获取网站中受保护的或私有的信息,通过将出售这些用户信息获利;或者恶意蜘蛛通过不断地爬取给网站造成不必要的负担,降低网站的访问性能,从而影响其他正常用户的访问。恶意蜘蛛的行为特征主要有如下几种:
1、忽略robot.txt的说明;
2、访问robot.txt中被禁止抓取的页面;
3、快速地索引整个网站从而降低真正用户的性能;
4、通过动态页面紧跟你不想索引的链接。
识别恶意蜘蛛的方法
既然恶意蜘蛛的行为对网站有害,那么我们如何有效地去识别哪些是恶意蜘蛛呢?下面有三种常用的方法:
一、通过Agent字段,建立网络蜘蛛白名单
因为一般像google、baidu等搜索引擎的蜘蛛都会在Agent信息中标明自己的身份,我们可以将这些蜘蛛建立白名单,允许其对网站的访问和抓取。
二、检查发出请求的IP和域名
与Agent识别类似,通过IP或者域名进行识别也是比较有效的一个方法,因为一些常见的蜘蛛的IP地址区间及其域名都是相对固定的,网上也有相关的列表提供参考。
三、统计所有查看过robot.txt的会话及用户。
一般只有蜘蛛或者某些想窥视信息的人才会访问robots.txt,通过统计网站的robots.txt被那些用户访问了,可以进一步确定是否有恶意蜘蛛的存在。
附:
最近发现一些仿冒Baiduspider抓取的情况,提供两种判断是否为Baiduspider的方法。
方法1——Linux环境下
您可以使用host ip命令反解ip来判断Baiduspider的抓取是否冒充。Baiduspider的hostname以*.baidu.com的格式命名,非*.baidu.com即为冒充。
$ host 123.125.66.120
120.66.125.123.in-addr.arpa domain name pointer baiduspider-123-125-66-120.crawl.baidu.com.
方法2——windows环境下
开始->运行->tracert 123.456.78.90(即抓取您网站的IP地址)
或者开始->运行->nslookup 123.456.78.90
查看name信息,未标识为Baiduspider即为冒充。