不遵守游戏规则的百度、搜狗
或者,标题也可以改为“难以捉摸的百度、搜狗”。
上周,我将首页展示方式改为列表式呈现。为了照顾搜索引擎抓取到首页更多的信息,我在网上找了一种对搜索引擎和普通访客分别展示不同内容的方法。大致就是通过服务器判断请求数据的用户的userAgent中包含的信息,符合各家的爬虫软件信息的就向其提供另一种展示界面。简单来说,我就是通过这种方法向搜索引擎的爬虫软件展示首页“more”截断式首页。
通过一周来的观察,终于等到baidu、google,Yahoo,soso,bing,sogou等更新了首页快照。但是我发现,除了百度和搜狗,其它搜索引擎都按照我的设置正常抓去了首页快照,只有百度和搜狗居然无视一般照样抓取普通访客看到的列表式首页。难道是我设置有误?
我检查了一下,确认没有问题,爬虫名称我也正确书写了。既然不起作用,我只能猜想百度和搜狗的爬虫没有将自身信息包含进Http_User_Agent这个字段里。服务器检测不到它们的信息就只能展示一般的列表式首页了。
但是屏蔽搜索引擎一般做法是在网站根目录放置robots.txt,比如要屏蔽百度,内容为
User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: /
至少淘宝是这么做的,http://www.taobao.com/robots.txt。虽然都说百度不遵守robots协议,但是淘宝既然这么做,说明百度也并不是完全不遵守,这样也是有作用的。这里判断爬虫信息也是通过user-agent ,现在还能在百度里搜到淘宝网站的信息,看来百度真的是不理别人对自己的称呼。就如同我们都知道头上带套子那人叫百度,但是那丫偏偏要在套子外面带个帽子伪装自己。写个牌子:带套的人不准进。百度非说,我没带套子,我就要进。进去后却立马将帽子摘下顶着套子胡作非为。于是,所有人都知道,百度来过了。但是也只能心里呐喊:明明门口写了牌子不准带套儿的进呀!!!
所以说,百度爬虫访问网站时是隐藏自身信息的,抓取时却又留下自身信息。所以通过常规方法无法识别百度爬虫。
搜狗看来也一样。
目前我很看好soso,现在天天爬的很勤快,不愧在google手下学了两年的。
鉴于以上情况,我只好对首页文章输出方式进行了更改,将第一篇文章按普通摘要方式输出,其余文章还是列表输出,然后再向第二和第三篇文章动态加载数据。这只是为了照顾一下百度搜狗,其它搜索引擎还是会抓取more截断式首页。
最后提供一下快照链接,有兴趣的可以点击查看快照与本站首页的区别。如果网页过期请自行查看。
Post url: http://qiqi.boy.im/2w. You can ReTweet This Post.

30 Responses to this post.
Comments (30) Trackbacks (0)