首页学院源码字体下载软件电脑书| 素材图片模版壁纸酷站图标笔刷纹理|小游戏博客QQ表情投票计数器JoyRssMail
动态网站制作指南
首页|网络编程|站长之家|网页制作|图形图象|操作系统|冲浪宝典|软件教学|网络办公|手机学院|邮件系统|网络安全|认证考试
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
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教程

关于搜索引擎页面分析中的 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 渲染引擎来对页面进行完整的解析和渲染。最后对这些引擎的解析结果进行分析。

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

关注此文的读者还看过:
·js代码解密
·Javascript实例教程(19) 使用HoTMetal(2)
·view-source,JavaScript看网页源码
·Javascript实例教程(10) 创建"后退"按钮
·JavaScript 现有日期上加上天数月数年数周数的运算
·JavaScript获取选中文本
·javascript定义类和实例化类
·用JavaScript脚本将当地时间转换成其它时区
·JavaScript实现页面之间传递参数的方法
·javascript对象与数组的例子

浏览全部javascript的内容 PS笔刷下载 39种不同语言在线翻译
文章搜索服务





邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<Javascript教程>的内容
Powered by JoyRssMail

网页制作文章分类

本月文章推荐
. JavaScript学习笔记(1)变量的生命.
. 在IE中使用Javasript对xml的解析 .
. js控制excel打印完美解决方案.
. js入门实例の构造函数\方法的定义和.
. Javascript设计网页中的下拉菜单.
. JavaScript 弹出层效果.
. javascript命名空间管理和文件同步.
. javascript下过滤数组重复值的代码.
. 125个常用javascript语句.
. 将金额小写转化成汉字大写的实现过.
. js事件列表.
. javascript中的关键字和保留字.
. Javascript实例教程(19) 使用HoTMe.
. 使用div仿javascript模态窗口.
. 用JavaScript使链接按钮不断变化.
. JavaScript实用技巧集锦.
. JavaScript获取HTML DOM节点元素的.
. javascript对ListBox的增 删.
. javascript中的数组应用的一点发现.
. javaScript自定义绑定.
. JavaScript模拟ACDSEE简单功能.
. JavaScript打开EXCEL后,最后释放进.
. 图片控制的渐变色文字.
. JavaScript中类的定义、继承.
. 调用IE内置打印组件完成web打印方案.
. 提高代码性能技巧谈—以创建千行表.
. javascript自定义函数.
. Javascript的基本对象.
. 如何用javascript判断录入的日期是.
. Javascript Chinaz的不间断滚动新闻.
  最新网站源码 最新软件下载
2009-7-4 84网址站 v4.10
2009-7-4 仿webmasterhome 网站收录查询 v
2009-7-4 NOCC v1.8
2009-7-4 易和阳光购物商城 v1.4 Access F
2009-7-4 OK伯乐招聘求职系统
2009-7-3 MyBB v1.4.8
2009-7-3 miniBB v2.3
2009-7-3 Modoer多功能点评系统 v1.1.0 Bu
2009-7-3 Modoer多功能点评系统 v1.1.0 Bu
2009-4-4 SharePoint Designer 2007
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
2009-3-20 Internet Explorer 8 简体中文正
  发表评论
姓 名: 验证码: [ 查看评论 ]
内 容:
 
站长工具:Google PR查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|公积金贷款计算|购房银行按揭利率计算|实时汇率查询换算|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号