会员登录 | 会员注册 | 意见建议 | 网站地图

站长资源综合门户

当前位置:首页 > 搜索引擎 > JavaScript解析:让搜索引擎看到更真实的网页

JavaScript解析:让搜索引擎看到更真实的网页

时间:2012-07-03 18:35:25   作者:   来源:   点击:

该体例是最早的JavaScript功能之一,用于向页面直接写入一段HTML代码,至今仍在普遍使用。对该体例,早期的搜索引擎都有所支持,但体例根基限于字符匹配,仅能支持最直接的写入一个JavaScript字符串的体例,对稍微复杂的文本拼接显得无能为力。但对JavaScript解析而言,这段代码终究是要适合语言规范的,因此就可以做到完整支持,措置文本拼接、条件判断和混合代码等各类情况。

这里还需要讨论的一点是嵌套的document.write,也就是通过document.write写入一个SCRIPT标签,该标签内部是另外一段document.write。这类问题在跳转作弊页面中不足为奇,对其支持就不只需要JavaScript解析,还需要HTML解析器能够支持措置嵌套的HTML写入功能,这里就不加以阐发了。

通过上述体例,无论是网页的主体信息,仍是告白或其它辅助信息,城市被吐露出来,从而更好的理解站长意图。

三、网页跳转

网页跳转在有些情况下是达到页面效果的需要选择,但同样会用于作弊。在手艺上,多以下面两种体例呈现:

1.直接挪用页面跳转函数

2.针对搜索引擎的UA、referer等挪用页面跳转函数

这里要实现识别,最核心的就是实现页面跳转函数:location对象。由于这是手艺上唯一的JavaScript跳转函数,所以无论页面的JavaScript如何撰写如何混合,最终城市挪用该函数。因此,虽然不合页面的跳转代码看上去五花八门,但识别出来却是简单的。

四、关于AJAX

AJAX是极其常见的网页手艺,底子上说就是在网页显示期间,动态的从互联网上获得一段数据(多是HTML也多是其它),颠末措置后加以显示。

对该手艺,底子的工作其实不在于XMLHttpRequest对象的实现,而是在于对搜索引擎爬虫架构的影响。众所周知,爬虫抓取页面,遍历其链接,再依次抓取的形式设计的,其工作主要集中在调剂和节制抓取压力上,抓取器自己较为简单,通常不具有抓取后即时执行JavaScript并抓取AJAX数据的能力,因此需要手艺升级方可支持AJAX。

对抓取器的阐发超出了本文的范围,有兴趣的读者可以查看其它相关文献。

总结

通过前面的案例阐发,我们总结出了实现JavaScript解析所需要的根基工作,别的再增加一定的根本性扶植就可以组成一套较为完整的系统了。这里我们再次整理一下,将其分为三个部分:

1. 在HTML解析器中嵌入JavaScript语言引擎,语言引擎可以选择V8、SpiderMonkey等成熟的开源方案。

2. 实现所需的功能函数,具体可参考W3C的相关HTML和DOM规范。

3. 作为一个直接推论,需要收录所谓的.js文件,这是JavaScript解析所需要"解析"的源代码。

本文中介绍的功能仅是一部分较为常见的JavaScript功能,要让搜素引擎真正看到实际的页面还需要进一步实现其它需要的功能,别的还需要配合对HTML、CSS、图片等资源的支持。

最后,对希望使用JavaScript的站长来讲,本文给出如下建议:

1. 不要使用过于复杂的JavaScript手艺,这晦气于搜索引擎的收录

2. 不要阻止对.js文件的收录,不然会限制JavaScript解析的能力

3. 公道的划分站点的静态部分和动态部分

by Lileding

文章来历:百度搜索研发部官方博客

分享到:

网友评论