今天QQ上有位网友“银狐云枫”给我发来消息说,他的网站之前被人入侵挂了马,被百度K掉了,原来百度爬虫正常抓取页面的时候,返回的http状态是200 0 0,现在爬到他的网页总是200 0 64,他问这个64是什么意思,是不是百度清除页面,有什么解决方法。
我之前也写过一篇关于百度,google,yahoo搜索引擎的蜘蛛爬虫的文章,谈到了三大搜索引擎抓取网站页面的特点。但是没有针对返回的http状态诸如200 0 64进行分析说明。
这是IIS里的相关解释:net helpmsg 64--The specified network name is no longer available. 意思是指定的网络名不可用,或许是路径错误,或许是文件已经不存在,但这仅仅是IIS自身的http状态说明。而在百度爬虫日志里返回200 0 64,而众所周知,百度是有人工干预的,这64说明了什么?
在百度研究院的论坛里看到一位版主有这样的一段解释:
蜘蛛在IIS里的行为200 0 64 的解释
根据我前段时间到现在的观察,虽然没有足够的证据,但是基本上可以肯定在IIS中,如果蜘蛛后面的号码出现200 0 64
那么网站中的这个单页面就会在搜索引擎中消失了.我被K的页面后面都写着200 0 64 ,不知道大家是否认同,还有其他看法,当然,我说这个不够绝对,因为我也有一个页面后面显示着200 0 64 但是在搜索引擎中依旧可以找到.这也说明着问题,但大多200 0 64行为的网页就已经没有了.
所以我觉得蜘蛛的200 0 64行为可以被解释为清除数据。
这个解释,目前看上去还是有可信度的。flymorn认为,抓取状态成200 0 64是不正常的抓取,正常的抓取是成功标志200 0 0,当变成了200 0 64的状态时说明搜索引擎在抓取这个页面的时候出现了错误,没有正常的进行常规抓取;对于百度来说,百度很可能是已经不再把这些页面抓进主索引库,而是放进了“百度沙盒”里进行考察,考察多久,就看你如何改进,也许,你看不到百度把这些被K的网站释放出来的时候,人是没有规律的。
正好,flymorn也有被百度K的网站,打开这个网站的IIS日志(.log后缀,如ex080222.log),果不其然,也发现了百度返回200 0 64的状态:
2008-02-22 07:14:37 W3SVC78302822 58.17.36.91 GET /article/1/79.html - 80 - 61.135.163.102 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64
2008-02-22 07:18:07 W3SVC78302822 58.17.36.91 GET /article/1/11.html - 80 - 61.135.163.102 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64
对于已经被百度拔毛的网站来说,如果你还在乎百度,那就赶紧改正网站上的一切作弊的地方,消除过度优化,消除恶意链接,等待百度再次光临,一般来说,这需要2-3个月的时间,还是认真做站,先想着用户为好。(本文原创,作者:Flymorn)