网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.Javascript的基本对象.
.JavaScript四舍五入.
.javascript操作cookie.
.JScript中正则表达式用法详解(附.
.如何用javascript防止连打(双击.
.通过JAVAScript实现页面自适应.
.JavaScript的9个陷阱及评点.
.Javascript实例教程(20) OLE Aut.
.限制文本字节数的JS源代码程序.
.Firefox浏览器兼容JS脚本供参考.
.JavaScript中toLocaleString函数.
.几行代码轻松搞定网页的简繁转换.
.JavaScript打印页面去除页眉页脚.
.Javascript脚本:Function 对象的.
.Javascript实例教程(11) 隐藏scr.
.网页中Javascript代码的应用方式.
.对JavaScript的eval()中使用函数.
.javascript对象与数组的例子.
.用JavaScript实现浏览器地震效果.
.Javascript获取某一标签的座标并.

关于搜索引擎页面分析中的 javascript 处理的2个思路

发表日期:2008-9-5


在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多JavaScript,这些Javascript 比较烦人,因为有相当部分页面内容写入到了这些js脚本的命令中,而导致正常的DOM分析看不到这些文字,而使其中的文字数据提取失败。

当然,如果这个页面模板确定,针对这个特定的页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于 general的网页搜索的话,这就不大现实了。正巧前两天和朋友讨论到这个问题,有些想法。在这里,提供两个思路,供大家参考。

1、做一个简化的 javascript 解释器,执行脚本片段

做一个完整的 javascript 解释器是比较难得,但是做一个简化的 javascript 解释器则很容易。我们不需要那些复杂的库,我们只将基本的 javascript 语法实现,并且将涉及文字输出的函数部分实现就可以了。

这样做的目的并不是要真正的完整执行这个javascript,而是将脚本中的字符串,按照其程序逻辑进行组合,最后输出这个脚本的完整输出。这样自然不全面,肯定由于很多功能没实现,导致输出的字符串和真实的输出不完全一样。但是,如果不出意外,应该不会产生太多的遗漏。因为所有的字符串输出部分我们都实现了,那么完全可以将这些字符串按照其将要输出的逻辑组合在一起。

对于根据动态条件做动态的事情的问题,如果这些条件无法确定,比如根据浏览器类型或者什么的。完全可以将两个分支的结果都输出。当然,我们不应该将这两块文字组合,中间应该有我们理解的分割符。

这样做得好处是高性能。这个解释器可以做得很小巧,由于并非完整执行js,所以性能也较之迅速一些。缺点是由于是简化的解释器,因此和真实的结果会有差异。但是一般来说,信息只会多而不会少,(因为同时输出了不同分支的结果),所以,对于搜索引擎的页面分析来说,差不多是够用了。

2、用HTML渲染引擎完整的解析页面,最后从显示结果中取数据。

采用Gecko (Firefox) 或者Trident (mshtml.dll) (IE) 这些用于浏览器的 HTML 渲染引擎来对页面进行完整的解析和渲染。最后对这些引擎的解析结果进行分析。

这样做得好处是和显示结果最接近,因为他们是页面的真实解析结果。但是缺点是性能相对较差,因为是对页面的所有元素的完整解析,所以做了很多与提取文字信息无用的劳动,如果分析大数据量的页面的时候,需要权衡一下

上一篇:javascript OOP:实现继承、多态与封装 人气:1282
下一篇:JavaScript打印页面去除页眉页脚 VBScriptWEB打印,去页眉和页脚 人气:1061
浏览全部javascript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐