Chinaz.com - 中国站长站

匿名投稿 投稿指南 RSS订阅 站长资讯通告:
搜索: 您的位置主页>站长在线>独家报道>阅读资讯:Google已经可以实现对JS正确抓取未公开

Google已经可以实现对JS正确抓取未公开

2008-06-10 13:50:46 来源:CHINAZ用户投稿 作者:郭进 【 评论:6

对于SEO爱好者来说,都知道以下一个事实:

百度,谷歌作为中国最大的两个搜索引擎巨头,以前并不抓取代码中出现JS的地方。

也就是说当遇到JS代码时,搜索引擎会跳过这一部分,放弃收录。但是今天作者通过对比和研究,得到以下一个事实,谷歌终于率先实现了技术上的突破,对JS代码有了有效的识别。

以下是网站页面中的一部分:

 

在这个页面中,有两个部分是使用JavaScript实现的,一部分是右侧的日期部分,其代码如下:

<script language="JavaScript" type="text/javascript">
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate=new Date();
myweekday=mydate.getDay();
mymonth=mydate.getMonth()+1;
myday= mydate.getDate();
myyear= mydate.getYear();
year=(myyear > 200) ? myyear : 1900 + myyear;
if(myweekday == 0)
weekday=" 星期日 ";
else if(myweekday == 1)
weekday=" 星期一 ";
else if(myweekday == 2)
weekday=" 星期二 ";
else if(myweekday == 3)
weekday=" 星期三 ";
else if(myweekday == 4)
weekday=" 星期四 ";
else if(myweekday == 5)
weekday=" 星期五 ";
else if(myweekday == 6)
weekday=" 星期六 ";
document.write("<font color=#ff0000>"+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
</script>

还有一部分为下方的“地名—地名”,在这里,本站使用了“外置式JS”,

页面代码如下:<script language="javascript">WriteCityFirm();</script>

其中的函数代码如下:

function WriteCityFirm()

{var citys="北京,上海,深圳,广州,重庆,成都,珠海,青岛,沈阳,大连,昆明,长沙,南京,杭州,厦门,福州,乌鲁木齐,西安,郑州,石家庄,南宁,南昌,苏州,运城,包头,青海,拉萨";
var cs=citys.split(',');
var FromCity="太原";
var htmlstr="";
for (var i=0;i<cs.length;i++)
{
if (i==0 || i % 9==0){htmlstr+="<tr><td width='68 0' style='padding-left:18px;'><span class='hotcity'>";}
htmlstr += "<a href='airline.asp?f="+ escape(FromCity) +"&t="+ escape(cs) +"'>"+ FromCity +" - "+ cs +"</a>   ";
if((i+1) % 9==0){ htmlstr+="</span></td></tr>";}
}
document.write(htmlstr);
}
那么,对于这两个部分,百度与谷歌在最近的一次抓取中,各自的表现究竟是什么样呢?
百度显示的快照页面如下:

 

可以充分证明,百度依然跳过了对JS代码的抓取,所以,在这两个地方显示了空白!

那么谷歌呢?

谷歌的快照显示如下:

  

 其中,由于整页采用的是UTF-8编码模式,所以,其他文本内容可以正常显示,而JS代码处出现了乱码,但是链接依然有效果。
尝试将编码模式修改为GB2312,google的快照显示如下:
 
可以看到,在修改编码模式后,google将下面以前是乱码的地方正常显示了出来,但是正文部分全部成为了乱码,同时,右侧的日期也不见了。

至此,我们已经可以充分地证明:google已经先百度一步,对JS代码进行了有效的抓取!
而经过对整个代码的分析,可以判断出,如果网站建设时使用的编码方式同时为GB2312,则谷歌将会将两部分同时有效地显示出来,进而推断出,谷歌还没有将两种编码方式进行自动的互相转换,这点值得我们注意。



Tags:Google   JS正确抓取   测试  
责任编辑:李典新
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数: [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助