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