为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于JSSh的动态网页获取研究与实现

基于JSSh的动态网页获取研究与实现

2018-08-05 9页 doc 82KB 9阅读

用户头像

is_654168

暂无简介

举报
基于JSSh的动态网页获取研究与实现基于JSSh的动态网页获取研究与实现 基于 JSSh 的动态网页获取研究与实现 万久士,李 翔,林 祥 (上海交通大学信息安全工程学院,上海 200240) 【摘 要】网络媒体监控系统需要采集大量的动态网页。 提出了基于 J S S h( J a v a S c r i p t S h e l l S e r ve r ) 的动态网页 获取方案,将动态网页的解析工作交给有成熟网页排版功能的 Web 浏览器,最后通过实验证明,基于J SSh 的动态 网页获取方案的普适性很强,并且可靠性高。实验表明,该方案的获取效率也符合...
基于JSSh的动态网页获取研究与实现
基于JSSh的动态网页获取研究与实现 基于 JSSh 的动态网页获取研究与实现 万久士,李 翔,林 祥 (上海交通大学信息安全工程学院,上海 200240) 【摘 要】网络媒体监控系统需要采集大量的动态网页。 提出了基于 J S S h( J a v a S c r i p t S h e l l S e r ve r ) 的动态网页 获取,将动态网页的解析工作交给有成熟网页排版功能的 Web 浏览器,最后通过实验证明,基于J SSh 的动态 网页获取方案的普适性很强,并且可靠性高。实验明,该方案的获取效率也符合网络媒体监管系统对于信息采集 实效性的要求。 【关键词】动态网页解析;JavaScript 脚本服务器;网页排版引擎 【中图分类号】T P 3 1 1 【文献码】A 【文章编号】1 0 0 9 - 8 0 5 4 ( 2 0 1 0 ) 0 4 - 0 0 93 - 0 3 Research and Implementation of Collecting Dynamic Web Page Based on JSSh WAN Jiu-s hi, LI Xiang, LIN Xiang ( Sc hool of I nf or ma t ion Se c ur i t y Engi nee r i ng, Sha ngha i J ia ot ong Uni ve r s it y, Shangha i 200240, Chi na ) 【Abs trac t】A large number of dynamic pages s hould be c oll ecte d a nd inte rpr eted in monitoring s yste m of ne twork medi a. A s cheme ba se d on J SSh( Ja va Sc ri pt She ll Se rver ) is propose d for dyna mi c we b pa ge coll ec ti on a nd i nt er pr et at ion. I n the sc he me, the Web br owser with pe rf ect pa ge la yout funct ion is used t o i nte rpret dyna mic page s. Exper iment shows t hat t he s che me i s a dapt ive and ha s c onsi der a ble re l i abi li t y f or c oll e c ti on of dyna mi c web page . The e ff i c ie nc y f or i nf orma t ion c ol le c ti on c oul d f ai rl y mee t t he r equir eme nt of monit ori ng s yst em. 【Ke ywor ds 】dynamic We b page int er pr e ta ti on; J avaSc ri pt shel l s er ve r ; Ge cko 超链接网络地址分别以文本信息和统一资源标识符(URL) 0 引言 的方式直接嵌入网页源文件的 HTML 标记中。然而,动态 URL外,还含有大量必须通过浏 互联网的媒体影响力越来越强,表现在信息的传播速 网页中除了包含少量静态 览器执行脚本才能得到的超链接网络地址和网页主体内容。 度快和信息的受众广。在互联网上,任何人都可以在论坛、 HTML 标记识别的方法, 留言版、博客等上面发布言论和观点。此外,Web2.0 技术 对于静态网页,可以使用传统的 实现页面主体内容与其所含超链接网络地址的提取功能。 (Us er 的普及,使网络上有越来越多的由用户生成的内容 人们可以通过 J a v a S c r i p t 引擎 ,如 Ge ne r a t e d Cont e nt ) 。网民既是信息的受众,又是信息的 对于动态网页,[2 ][3 ]Spi der Monkey、Rhino来解释这些 J a va Sc r ipt 脚本,获 传播者,如果网络监管缺失或者相关法律不健全,在网络 得其中的超文本链接地址或文本内容。上很容易出现虚假、反动、暴力的言论,将严重影响到和 文献[ 3 ] 中提到,由于脚本解释引擎 R h i n o 无法识别 谐社会的建设。当前,网络监管部门重点开展的互联网媒 JavaScript 脚本片段中包含的 HTML DOM,在把动态网页 [1],旨在把握网络信息动向,引导网络言 Rhi no 前,需要先对脚本片段中的 HTML 体信息监控工作脚本片段传递给论,建设和谐网络环境。系统化的网络信息监管工作,主 DOM 实现本地创建,给出每个 HTML DOM 的方法和属性 要由信息采集、信息融合和结果呈现三大环节共同组成。 Web2.0 应用中,由于 Ajax 架构的普及,用上述 描述。但在根据网页中是否含有浏览器执行脚本,将网页分为静 方法构建 HTML DOM 的工作会越来越繁琐。 文中提出了基于JSSh的动态网页获取方案。该方案通 态网页和动态网页。静态网页的主体内容及其内部包含的 过 J SSh 客户端向内嵌 J SS h 服务器的 Fi r e f ox 浏览器发送 JavaScript 指令,浏览器执行加载网页指令,自 加载网页的 JSSh客户端从浏览器加载网 行向目标网站请求发布页面。收稿日期:2 0 0 9 - 0 7 - 0 3 页的DOM树中,提取网页内所包含的全部超文本链接,浏 作者简介:万久士,1978 年生,男,硕士研究生,研究 1975 年生,男,副教授, 方向:互联网内容安全;李翔,1979 年生,男,工程 研究方向:网络内容安全;林祥, 师,研究方向:网络内容安全、内容缓存。 JavaScript 指令,JSSh 服务器指示浏览器加载网页,浏览器 览并且导出超文本链接对应的文本信息,最终实现对于身 份认证网站发布信息的网页采集工作。通过实验证明,与 向目标网站请求发布页面。浏览器对响应网页中的动态脚本 JSSh的动态网页获取方 单一脚本解释引擎方式相比,基于解析,生成文档对象模型,以方便对文档元素的存取操作。 JSSh 客户端向 JSSh 服务器发送 JavaScript 指令,查询文档 案的过程实现简单、普适性更强。方案可靠性高,采集效 元素 html 的属性 innerHTML 或 textContent,用于获取发布 率完全符合网络媒体监管工作对于信息采集实效性的要求。 网页的 HTML 源文件和文本信息。JSSh 客户端从浏览器加 DOM树中,提取网页内所包含的全部超文本链接, 载网页的1 背景知识 指示浏览器依次对这些链接进行浏览,并导出加载网页的文 [4]1. 1 文档对象模型 文档对象模型DOM是一个与平台和语言本信息,最终实现对网站发布的动态网页采集工作。基于 JSSh的动态网页获取主要包含动态网页DOM构建、从DOM 无关的接口, 它用于程序动态访问和更新文档的内容、结构、样式。文档 中获取网站发布内容。 2.1 动态网页的 DOM 构建 可以被进一步加工,其结果可结合到所表示的网页中。 HTTP DOM 将网页源文件映射成一系列 HTML DOM 对象, 动态网页脚本一般由 J avaSc ri pt 、VBScr i pt 等脚本语 HTML 每个DOM对象同时包含实现网页动态显示的属性和 HTML DOM,需要对网页文 言编写。要构建网页文件的 操作网页源文件的方法。件的动态脚本解析。脚本解析引擎将动态网页脚本解析生 HTML页面,内含网络媒体监管系统所需的超文本 1 . 2 J S S h 成静态[6]链接地址和文本内容。Firefox 通过 Gecko网页排版引擎 [5 ]JSSh是一个 Fir e f ox C++ 模块,它可以作为 Fi re f ox HTML、XML、CSS 解析,实现 DOM、网页 对网页内的 1 Firefox 附加组件安装,如图所示。外部应用程序可与浏 2 中,JSSh 客户端向内嵌 JSSh 服务器的 排版和渲染。图览器中的 J S S h 服务器 ( 默认侦听端口 :9 9 9 7 ) 建立 J Fi r e f ox 浏览器发送加载网页的 J a v a Sc r i pt 指令,J SS h 服 a v a Sc r i pt J SS h J SS h 脚本连接,服务器运行客户端发送 HTTP 务器指示浏览器加载网页,浏览器向目标网站发起 J a va Sc r i pt 指令,并给 J SSh 客户端返回结果。J SSh 客 的请求,自行向目标网站请求发布页面。Firefox 对包含动态 J a v a Sc r i pt 通用对象 HTM LDoc ume nt El e m e nt 户端可以用Ge cko HTML DOM解析,生成,以 脚本的返回网页通过 所支持的任何方法来操纵浏览器中的文档对象,其作用与 HTML文档元素的存取操作。页面排版引擎对 方便后续对JavaScript 类似。任何类 在浏览器内运行网页内的客户端 J ava Sc r i pt 、VBSc r ipt 动态脚本进行统一解析,无需单独 似 t el net 的程序都可以当作 J SSh 客户端。 DOM构 使用各种脚本解析引擎分别对这些动态脚本解析。 建工作完全由浏览器完成,无需用户另外编码。而在文献 [ 2-3] 中,单独的 J a va Sc r i pt 引擎仅对网页中的 J a va Sc r i pt 脚本片段进行解析,获取里面的动态内容。因此,该方案 有更强的普适性和实用性。 图 1 JS Sh 服务器和客户端交互 1. 3 Fir eWat ir FireWatir 作为一种典型的 JSSh 客户端,广泛用于 Web 应用程序的自动化功能测试过程。Fi re Wa ti r 使用 Ruby 编 JSSh服务器交互的诸多功能,例如网页表单填 写,封装了与 FireWatir 生成 Firefox 浏览 写、点击网页按钮等操作。调用 器的实例,应用程序能够方便地操纵Firefox 加载的DOM对 Web应用程序 象。测试人员利用它可以编写易读、易维护的 FireWatir 作为实现动态网 图 2 动态网页的 DOM 构建 自动化功能测试脚本。文中使用 页获取的 JSSh 客户端。 2.2 从 DOM 中获取网站发布内容 Web 浏览器成功构建 DOM 后,就可利用 DOM 自身所 HTML 文档元素。JSSh 客户端向 JSSh 服 提供的方法来访问 务器发送 J a v a S c r i p t 指令,查询文档元素 h t m l 的属性 2 基于 JSSh 实现动态网页采集 innerHTML 或 textContent,用于获取发布网页的 HTML 源 该方案将动态网页的解析工作交给有成熟网页排版功能 文件和文本信息。另外,FireWatir 模块封装了对 DOM 树中 的 Web HTML DOM 浏览器,从浏览器生成的 中提取网页 超文本链接地址的提取功能,方便对网站的遍历。为实现对主体内容与超文本链接地址。JSSh 客户端与 JSSh 服务器建 目标网站的遍历,按照深度优先或广度优先算法,JSSh客户 J SSh 立脚本连接,在此连接上向 服务器发送加载网页的 表 2 性能评估实验结果 端依次向JSSh服务器发出加载网页请求,指示浏览器对网站 入口网页内的超文本链接进行加载。 关于发布信息采集的 时效性,主要基于两方面优化措 施予以保证:一方面,文中通过仅获取身份认证网站核心 发布内容,来提高信息采集操作的效率。面向多数身份认 JSSh 客 证网站发布内容,利用预定义的超链接筛选规则, 户端仅对符合超链接筛选规则的网络链接发送加载网页的 JavaSc ript 指令,只采集身份认证网站核心发布信息,从 而有效保证了信息采集的时效性。另一方面,在身份认证 网站发布内容采集过程中,可在同一台采集机器上运行多 个 JSSh JSSh 服务器,同时为不同的 客户端服务,或者对 同一个 JSSH 服务器,启动多个浏览器窗口,JSSH 客户端 络媒体监管系统中信息采集环节存在的动态页面解析问题 在不同的窗口进行页面采集。这样,基于并发采集机制对 提供了有效的解决方案。 多个不同的身份认证网站,同时开展发布内容采集工作,进一步确保发布内容获取环节的时效性。 4 结语 纷繁复杂的动态网页对网络媒体监管系统的信息采集环 JSSh的服务器和客户 节提出了更高的要求。文中提出了利用 JSSh 3 信息采集性能评估 端架构,对网站发布的动态网页进行获取。方案中通过 客户端向 JSSh JavaScript 服务器发送指令,JSSh 服务器执 可以使用Ruby 脚本语言,利用选取的JSSh 客户端— F i r e f o x 浏览器向目标网站请求网页, 行这些指令并指挥 FireWatir,进行动态网页获取实验。基于 FireWatir 模块, Firefox JSSh 对响应网页构建DOM 树,客户端发送的后续指 使用 Ruby 脚本语言,向内嵌 JSSh 服务器的 Firefox 浏览器 DOM树,获取动态网页内的超文本链接地址和主体 令操纵传送 JavaScript 指令,实现 JSSh 客户端与 JSSh 服务器间的 Gecko 内容。由于网页内的动态脚本由成熟的网页排版引擎 FireWatir 模块与 Firefox 浏览器信息交互过程 信息交互。在解析,因此,该方案对动态网页获取的可靠性很高。将该方 FireWatir 模块指示Firefox 浏览器向网站请求发布内容, 中,案融入到网络媒体监管系统会进一步丰富信息采集的数据源。 FireWatir 提取DOM 树中所需的超文本链接和文本信息。用 于验证文中动态网页获取方案性能的实验环境,以及与实验 1 相关的应用软件如表所示。 参考文献 表 1 实验环境与相关应用软件 [1] 方柯,李生红. 面向网络不良文本过滤的概念网技术研 究[J ]. 信息安全与通信保密,2008( 07) :75-79. [2] 王映,于满泉,李盛韬,等. JavaSc ript 引擎在动态网 页采集技术中的应用[J]. 计算机应用,2004,24(02):33- 3 6 . 3.1 性能评估实验结果 [3] 金晓鸥,钟宝燕,李翔. 基于 Rhi no 的 J avaSc ri pt 动态 文中用于动态网页获取实验的目标网站或网站频道,其 200818 页面解析研究与实现[J]. 计算机技术与发展,,页面都需要脚本解析引擎解析。在实验过程中,信息采集操 ( 02 ) :01 - 0 4,50 . 作只提取目标网页内,符合超文本链接筛选规则的核心发布 [ 4 ] W 3 C D O M I G . D o c u m e n t O b j e c t M o d e l [ E B / O L ] . ( 2 0 0 5 - 0 1 - 1 9 ) [ 2 0 0 9 - 0 7 - 0 3 ] . h t t p :/ / w w w . w 3 . 内容,从而有效提高信息采集效率。实验选择了人民网强国 o r g / D O M / . 社区国际论坛、凯迪社区原创评论频道、搜狐网国内新闻频 2 所示。其 [ 5 ] Al e x F r i t z e . J S Sh - A TC P/ I P J a va Sc r i pt Sh e l l Se r v e r 道、两全齐美强国论坛。性能评估实验结果如表2中的耗时包括从目标网站获取网页的时间。 中,表 f o r M o z i l l a [ E B / O L ] . ( 2 0 0 7 - 0 5 - 0 1 ) [ 2 0 0 9 - 0 7 - 0 3 ] . 3. 2 JSSh实验结果 实验结果表明,文中提出的基于的 h t t p :/ / w w w . c r o c z i l l a . c o m / j s s h . 动态网页获取 方案成功实现了对动态页面所含超文本链接地址,以及网 [ 6] M oz i l l a . M o z i l l a L a y o ut En g i ne [ EB / O L] . ( 2 00 8 - 08 - 2 0 ) [ 2 0 0 9 - 0 7 - 0 3 ] . h t t p :/ / w w w . m o z i l l a . o r g / 页主体内容的提取功能。实验中信息采集效率最终能达到 网络媒体监管工作对于信息采集效率的要求。该方案为网 n e w l a y o u t / . file:///D|/我的/Desktop/新建文本文 档.txt Appliance Error (configuration_error) Your request could not be processed because of a configuration error: "Could not connect to LDAP server." For assistance, contact your network support team. file:///D|/我的资料/Desktop/新建文本文档.txt2012-07-12 20:42:52
/
本文档为【基于JSSh的动态网页获取研究与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索