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

javascript|搜索引擎|页面

  在制作搜索引擎的时候、或者做页面分析及数据提取的时候,经常面临页面中存在许多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 渲染引擎来对页面进行完整的解析和渲染。最后对这些引擎的解析结果进行分析。

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

时间: 2025-01-29 14:46:43

搜索引擎页面分析中的 javascript 处理的相关文章

搜索引擎链接分析中的链接优化

在网站优化中,常常提到的"内容为王,链接为皇"现在已经不止是这么两点了,另外还有用户体验综合因素在内,内容为王,链接为皇,加上用户体验其实就是三代搜索引擎的各自看重点,其中链接分析也算是运用得最火的技术,在很多黑帽SEO中也有许多技巧都是根据链接分析的漏洞来放大利用.今天成都SEO就来总结一下搜索引擎链接分析的算法. 搜索引擎链接分析中最重要的两个算法要属于PageRank和HITS算法了,两个分别是从随机游走模型和子集传播模型两大模型来计算链接权重的传递方式.   先来看看PageR

触屏中的JavaScript事件分析_javascript技巧

本文实例讲述了触屏中的JavaScript事件.分享给大家供大家参考.具体分析如下: 一.触摸事件 ontouchstart ontouchmove ontouchend ontouchcancel目前移动端浏览器均支持这4个触摸事件,包括IE.由于触屏也支持MouseEvent,因此他们的顺序是需要注意的:touchstart → mouseover → mousemove → mousedown → mouseup → click1 实例如下: /** * onTouchEvent */ v

JSP页面文件中base标记用法实例分析_JSP编程

本文实例分析了JSP页面文件中base标记用法.分享给大家供大家参考,具体如下: 我们在用IDE工具生成JSP页面时通常都包含下面的两段代码, <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %

分析搜索引擎收录过程中网页快照的作用

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   为什么我们只要在搜索引擎的搜索框内输入想要查询的关键词,搜索引擎就会立即在广阔无垠的因特网上,把包含关键词所有网页一网打尽,呈现在我们的面前. 如果您了解了搜索引擎的工作原理,就不会这样认为了.每一张网页上都有很多超链接,链接到另外一些网页上,而这些网页上依然有很多超链接,又可以链接到另另外一些网页上-- 按照这个方法,您最后发现,几乎所有因特网上的网页都被链接

挑战网站分析中的大众智慧(1)——Bounce Rate

中介交易 SEO诊断 淘宝客 云主机 技术大厅 [前言] 本系列文章应NetConcepts的Allen特邀撰稿.同时,这也是第一篇在上下班地铁上完成的文章. 大众的智慧一定是正确的智慧吗?或许你也听说了"多数人的暴·政"这个词.无论在何领域,由于"大众智慧"的影响,更高的智商并不总能确保我们做出更正确的决策,一如36kr的文章所说,聪明人有时候可能容易犯傻.所以,这一系列的文章是看一看网站分析领域中的哪些大众智慧可能会让你"误入歧途".第一篇文

网站分析中应该掌握的一些数据

要想把网站优化的很出色,就要懂得如何分析.整理好准备进行优化的网站资料,还需要把网站根据搜索引擎的喜爱进行调整,然后从各个方面分析找出问题,并且拿出好的解决方案,才可以开始优化工作.那么当网站做好了以后大家就要对网站的效果进行数据分析了,对于工作中网站分析中应该掌握的一些数据有哪些?接下来孙旸杰给大家进行详细介绍: 网站数据分析,指的是通过观察.调查.实验.测量等结果,通过数据的显示行式把网站各方面情况反映出来,使运营者更佳了解网站的运营情况,便于调整网站的运营策略.如今,随着全球互联网的高速发

浅析搜索引擎的分析系统来做好网站优化

目前主流的搜索引擎按照其功能大致可以分为可划分为下载.分析.索引.查询4大系统.其中分析系统在搜索引擎的架构中主要承担了网页结构化.网页消重.文本分词及网页重要性的计算(例如谷歌的PR)这四项基本任务.可以说,搜索引擎的分析系统在网站排名等方面起着决定性的作用,通过分析搜索引擎的分析系统,可以更好的指导我们进行网站的优化工作,在这里,笔者根据自己的一些见解, 首先,笔者对搜索引擎的分析系统的工作步骤做了简单的介绍: 第一.读取Page库中下载系统通过爬虫下载到的原始网页. 第二.通过建立标签树并

浅谈站内分析中不可或缺的一环:IIS日志分析

对于每一个优化人员来说都需要具备一定的分析能力,分析用户的搜索行为.分析站点的数据流量等等.只有合理的分析好这一些数据才可以更好的制定我们的优化策略.其中在我们的站内分析中不可缺少的一项就是分析搜索引擎蜘蛛的抓取爬行行为.搜索引擎蜘蛛是我们肉眼所不能看到的,我们要如何分析它的爬行行为呢?我们可以通过分析我们站点的IIS日志. 一:那么从分析IIS日志我们可以从我们的站点上得到什么信息 1:在外链的建设中我们知道网站上的每一个外链都是搜索引擎蜘蛛进入我们网站的入口,对此我们可以观察日志上的蜘蛛的造

浅谈搜索引擎日志分析

对于网站优化来说,搜索引擎日志分析是必不可少的一块,无论你是收录上百的小型网站,还是收录上百万的大中型网站,SEO要想做得好,都必需进行科学的日志分析,日志是发生在网站服务器上的所有事件的记录,包括用户访问记录,搜索引擎抓取记录,对于一些大型网站来说,每天的日志都有好几个G大小的,我们可以使用linux命令去进行分离的,在大型网站日志文件往往是机密文件,一般人是看不到的,因为从日志里边可以分析访客趋势.地区趋势等,我们做SEO的不需要那么多数据,我们只要分析搜索引擎的抓取记录这一块就可以了,所以