Google厉害,Spider可以分析Javascript
10.6.26 | 破锣锅 @ | 0 条评论 » | 524 个读者 »

谷歌(google)的搜索Spider就具有阅读JavaScript代码的功能,但是多年以来我们一直都不清楚谷歌(google)的Spider是否真正分析了其正在抓取的东西或者说它仅仅只是在易于分析的数据结构中对各种链接进行呆板的检索。本周五,一位谷歌(google)的发言人向《福布斯》确认谷歌(google)所作的远远超过对Javascript脚本代码的简单分析。这位发言人表示:“谷歌(google)能够分析并分析某些JavaScript”。


谷歌(google)的表述让我们意识到其Spider所作的工作也许不仅仅只是获得对页面的相关链接,还能够像人一样与各类程序发生互动——发现Bing这类搜索引擎所不能发现的网络世界。而这意味着,谷歌(google)重新定义了搜索引擎。在谷歌(google)的搜索结果里面只有很少的Javascript脚本代码,而且谷歌(google)也将这种Javascript脚本代码的解释功能做了很多保留。比如在谷歌(google)站点搜索(谷歌(google)‘s Site Search)的文档显示其不能够索引带有Javascript脚本代码的内容。一本关于索引的入门教材这样写道:它(谷歌(google)Spider)“不能够处理带有富媒体的内容或者是动态网页”。仔细检查服务器日志中的记录我们便可以发现谷歌(google)现在索引那些并不是直接包含在Javascript脚本代码里面的链接,谷歌(google)的Spider只有确定自己能够运行部分代码的时候才能明白整段代码到底是什么意思。

Mark Drummond,一家独立搜索引擎公司Wowd的CEO(我们在今年之前的杂志中采访过他)在一封邮件中告诉我们分析Javascript脚本代码“是一个非常深刻、难度极大和一场经典的计算科学难题。”他解释道谷歌(google)的努力在于它能够发现Javascript脚本代码在网页中是否存在停止运行的情况。他表示“停止运行的问题是无法判定的”,他说迄今为止还没有已知的算法能够在任何程序的任何时间点告诉我们该程序是否陷入了死循环,而且数学上已经证明了这一点。Drummond自己的公司通过人工的方式检索其索引并标明是否有可能简化这个复杂的问题,同时判断一个网络程序是否向另外的程序发起了数据请求。也许,这正是谷歌(google)现在在做的事情。

另一位同谷歌(google)接近的搜索引擎人士也认同Drummond关于分析Javascript脚本代码复杂性的看法。他认为用一个程序去分析另一个程序是很困难的事情,执行Javascript脚本代码几乎是现阶段能够做到的极限了。

而谷歌(google)在六月发布的改进版搜索算法(即Caffeine)似乎开始能够分析部分Javascript脚本代码了。如果这是真的,那么谷歌(google)的工程师已经教会了其Spider如何执行部分Javascript脚本代码。这真是一个技术上的突破!

收藏与分享
推荐内容

发表评论>>