首页 | 互联网新闻 | 优化专题 | 下载中心 | 搜索引擎最新动态 | 搜索引擎营销 | 搜索引擎优化 | GOOGLE优化专题 | 百度优化专题 | YAHOO优化专题 | MSN优化专题
 栏目导航: 我是焦点-SEO博客联盟 -> 互联网新闻 -> 搜索引擎营销 -> 文章内容
热点文章
普通文章 · 中国电信在互联星空..
· 搜狗音乐搜索推出明..
· 分享一个SEO项目的几..
· 百度怎样去优化?
· 实战:我的SEO经验
· GooglePageRank排名..
· 百度关于网站seo界定..
· 教你怎样成为百度搜..
· 个人网站如何提高网..
· 我和一个Alexa排名推..
相关文章
推荐文章 · 哪些行为会被百度搜..
· 搜索引擎优化管理
· Google搜索引擎优化..
· Google搜索引擎优化..
· Title(网页标题)在..
· 搜索引擎优化清单 S..
· 如何做一个网站搜索..
· Google VS 百度 对搜..
· 针对移动搜索引擎而..
· 在2006中国搜索年会..
信息资源

搜索引擎页面分析中的 javascript 处理

退出登录 用户管理          
作者:佚名  来源:不详  发布时间:2006-11-1 1:58:58  发布人:admin

搜索引擎页面分析中的 javascript 处理
减小字体 增大字体




搜索引擎页面分析中的 javascript 处理——在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,而页面内容,相当一部分写入到了这些js脚本的命令中,而导致正常的DOM分析失败,无法提取所需的信息。

  在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多javascript,而页面内容,相当一部分写入到了这些js脚本的命令中,而导致正常的DOM分析失败,无法提取所需的信息。当然,如果这个页面模板确定,针对这个页面制作信息提取模板也不很难,每个页面人工的分析出需要提取的信息的位置,然后制作模板。可是对于general 的网页搜索的话,这就不大现实了。正巧前两天和朋友讨论到这个问题,有些想法。在这里,提供两个思路,供大家参考。 1、做一个简化的 javascript 解释器,执行脚本片段 做一个完整的 javascript 解释器是比较难得,但是做一个简化的 javascript 解释器则很容易。我们不需要那些复杂的库,我们只将基本的 javascript 语法实现,并且将涉及文字输出的函数部分实现就可以了。这样做的目的并不是要真正的完整执行这个javascript,而是将脚本中的字符串,按照其程序逻辑进行组合,最后输出这个脚本的完整输出。这样自然不全面,肯定由于很多功能没实现,导致输出的字符串和真实的输出不完全一样。但是,如果不出意外,

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

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

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

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

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

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

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

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

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

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

[] [返回上一页] [打 印] [收 藏]
  相关文章
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
  • 关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
    Copyright © 2004-2007 54focus.Com. All Rights Reserved .
    Powered by:我是焦点-SEO博客联盟2006年终版
    集大家之所常,集智慧于一身~~~来自百家之所常,如有意见,请与我联系!