论坛首页 海阔天空论坛

令人羞耻的中国流氓搜索爬虫

浏览 38496 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-07  
众所周知,国内的搜索引擎爬虫是恶名昭著的,不遵守行业规则,不尊重robots.txt的规定,其疯狂的爬网页行为对缺乏安全抵抗机制的中小互联网站往往是灭顶之灾。

就是JavaEye网站也时不时遭受流氓爬虫的困扰,流氓爬虫包括了百度,雅虎中国等所谓的大公司。至于名气稍小一点的爬虫,那就更加肆无忌惮了。JavaEye网站曾经连续封杀了两个C类IP地址段以杜绝其流氓行径。

但是没有想到啊,中国的流氓爬虫已经把黑手伸向了国外,恶名已经扬名在外了。

当我今天访问Progmatic Programmers的网站,却看到了如下信息:

http://media.pragprog.com/titles/rails2/code/depot_c/public/images

引用
We're sorry, but access is denied to that document.

This might be because you are accessing this site from a machine in China. Because of a massive amount of robot traffic from Chinese machines, we've had to take the unfortunate step of blocking access from those IPs.

If you feel that access has been denied in error, please contact our support folks.


大意如下:

对不起,你无权访问这个页面,因为你是从中国访问的。由于大量来自中国的爬虫程序导致的网站负载,我们不得不遗憾的封锁来自中国的IP地址。

看了这段话,真让人羞耻,中国的流氓爬虫已经连累了整个中国地区的IP地址段,造成了恶劣的国际影响。长此以往,要是国外的技术网站联手统统封杀中国的IP地址段,那将是何等的恶果啊。

真的应该到了讨伐流氓爬虫的时候了!
   发表时间:2007-02-07  
rails2的code是dave亲自寄过来的,不太懂爬虫和搜索结果的联系
0 请登录后投票
   发表时间:2007-02-07  
花花公子 写道
rails2的code是dave亲自寄过来的,不太懂爬虫和搜索结果的联系


你点击我上面贴出来的link就看到这样的信息了,看来还非得我翻译这段英文不可:

对不起,你无权访问这个页面,因为你是从中国访问的。由于大量来自中国的爬虫程序导致的网站负载,我们不得不遗憾的封锁来自中国的IP地址。




0 请登录后投票
   发表时间:2007-02-07  
对不起,说的不太清楚,我是说搞不明白这些搜索引擎究竟出于什么目的爬的这么疯,难道只是收录的网页数?

前面一帖也不是为了炫耀, ,实在是低估了破解组织的威力买了一本,同时感受了一下pragprog的优质服务。
0 请登录后投票
   发表时间:2007-02-07  
是否可以投诉?
不过国外的技术网站敢这样做,也有点过分了。
0 请登录后投票
   发表时间:2007-02-07  
花花公子 写道
对不起,说的不太清楚,我是说搞不明白这些搜索引擎究竟出于什么目的爬的这么疯,难道只是收录的网页数?


上周末我,quake,trustno1,庄表伟聊天的时候谈起来这个问题。我想有两个原因造成这种现象:

1、搜索引擎市场被证明有很高的商业价值,众多的国内厂商都在抢这个市场,包括搜狐,百度,雅虎中国,奇虎,中搜等等一大堆厂商。搜索引擎要战胜竞争对手,一个很重要的制高点就是宣布自己搜索了多少个网页,前不久搜狐不就号称搜索的页面已经超过了百度吗?这势必造成各个搜索引擎的“军备竞争”,互相攀比谁搜索的网页更多。造成的直接后果就是肆无忌惮的放爬虫来爬网站。

2、爬网页即要多,又要准,其实需要很高技术能力和很丰富的服务器资源。

举例来说,Google索引的JavaEye网页不过10万,因为他能够甄别内容相同的页面,能够甄别内容的等级,也能够准确定位有效资源,所以它不需要爬那么多网页,也不需要那么频繁的爬,就可以完成任务。但是百度索引了JavaEye40多万网页,其爬虫显然技术水平要逊Google一筹。由于它需要多爬三倍于Google的网页,所以他必须比Google爬的速度至少快三倍。

Google全球几十万台服务器,能用来做爬虫的服务器估计至少是百度的n倍,如果要爬同样多的页面,自然服务器越少,你就需要每台服务器爬的越快,所以百度爬虫经常一个IP地址放出来上百个爬虫来爬你的网站,但是Google从不对同一个网站同时放两个爬虫。这就说明了至少爬中文网站的服务器,百度的爬虫服务器比Google少了30倍以上,又由于百度要爬Google4倍的网页,所以百度每台服务器至少要以100倍于Google的速度爬网站,这样才能赶得上Google爬网页的效果。所以Google放一个爬虫,百度就得放100个爬虫。

至于国内那些比百度技术更烂的公司,当然必须放出比百度多很多倍的爬虫,才能达到同样的效果。这就是为什么越是好的搜索引擎,越不会对你的网站造成干扰,而越烂的公司其爬虫越流氓的原因了。

1 请登录后投票
   发表时间:2007-02-08  
还有一个原因是很多爬虫而且不遵守robots.txt中的规定,非常让人恼火。

前一段时间P2P软件都开始抵制中国开发的软件,问题就是不遵守协议,浪费大量带宽。

信用问题真的是中国越来越不能忽视的问题。
0 请登录后投票
   发表时间:2007-02-08  
不明白的是几分钟内会对一个地址反复爬几十次

0 请登录后投票
   发表时间:2007-02-08  
robbin 写道
花花公子 写道
对不起,说的不太清楚,我是说搞不明白这些搜索引擎究竟出于什么目的爬的这么疯,难道只是收录的网页数?


上周末我,quake,trustno1,庄表伟聊天的时候谈起来这个问题。我想有两个原因造成这种现象:

1、搜索引擎市场被证明有很高的商业价值,众多的国内厂商都在抢这个市场,包括搜狐,百度,雅虎中国,奇虎,中搜等等一大堆厂商。搜索引擎要战胜竞争对手,一个很重要的制高点就是宣布自己搜索了多少个网页,前不久搜狐不就号称搜索的页面已经超过了百度吗?这势必造成各个搜索引擎的“军备竞争”,互相攀比谁搜索的网页更多。造成的直接后果就是肆无忌惮的放爬虫来爬网站。

2、爬网页即要多,又要准,其实需要很高技术能力和很丰富的服务器资源。

举例来说,Google索引的JavaEye网页不过10万,因为他能够甄别内容相同的页面,能够甄别内容的等级,也能够准确定位有效资源,所以它不需要爬那么多网页,也不需要那么频繁的爬,就可以完成任务。但是百度索引了JavaEye40多万网页,其爬虫显然技术水平要逊Google一筹。由于它需要多爬三倍于Google的网页,所以他必须比Google爬的速度至少快三倍。

Google全球几十万台服务器,能用来做爬虫的服务器估计至少是百度的n倍,如果要爬同样多的页面,自然服务器越少,你就需要每台服务器爬的越快,所以百度爬虫经常一个IP地址放出来上百个爬虫来爬你的网站,但是Google从不对同一个网站同时放两个爬虫。这就说明了至少爬中文网站的服务器,百度的爬虫服务器比Google少了30倍以上,又由于百度要爬Google4倍的网页,所以百度每台服务器至少要以100倍于Google的速度爬网站,这样才能赶得上Google爬网页的效果。所以Google放一个爬虫,百度就得放100个爬虫。

至于国内那些比百度技术更烂的公司,当然必须放出比百度多很多倍的爬虫,才能达到同样的效果。这就是为什么越是好的搜索引擎,越不会对你的网站造成干扰,而越烂的公司其爬虫越流氓的原因了。



google自从上次“大爸爸”的升级之后,所有爬虫任务均从一个代理中心发出。所谓的爬虫任务,除了常见的网页索引,还有adsense的,图片的,等等。

以前没有那个代理中心之前,不同任务的爬虫都是各自为战,从而造成了相同的url,有可能会有重复的爬行。但自从该代理中心建立之后,所有的爬虫任务均向该中心发送爬行请求,然后从中心取回内容。这样对于网站的负担就从以前的n下降为1了。因为当某个爬虫曾经发出对某url的请求之后,其他爬虫需要请求该url内容的时候,就直接从代理中心获取,前提是该url的内容没有改变。

至于其他的搜索引擎,尚未发现有类似的工作机制。
0 请登录后投票
   发表时间:2007-02-08  
baidu还是比google市场占有率高的。

我的站点20%是从baidu过来的,而只有不到3%是从google来的,虽然跟用户群体有关系,但是跟baidu爬虫的勤劳也是有一定关系的。

我就有一个站点的某些非常隐蔽的链接,被baidu爬到了,因为配置错误,导致站点内容被删除,可是google的就没爬到。

至于频率,baidu远比google高,你的一个信息更新了,baidu几天内就能更新,google好像时间要长得多。

至于是否国人很流氓,其实国外也有很无耻的,比如alltheweb,也是很夸张的,当然国内可能数量多一些

怎么防止被爬垮,可以配置服务器限定每个ip的在某些时间内的并发连接数量
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics