一种物联网动态页面实时信息采集方法,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据存储模块进行存储。本发明专利技术实现了物联网实体动态信息的实时获取及存储,而且不需要连接服务器上的数据库,具有良好的可扩展性,能满足物联网海量数据量的处理要求。
【技术实现步骤摘要】
本专利技术涉及一种基于Watir的可实时获取物联网实体信息的方法,属于数据处理
技术介绍
物联网(Internet Of Things)泛指“物物相连的互联网”。它的核心和基础是互联网,是在互联网基础上延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间。物联网把任何物品与互联网相连接,进行信息交换和通信。随着嵌入式传感器在各领域的广泛应用,物联网技术已经逐渐融入到人们的生活中。物联网的应用非常广泛,遍及智能交通、环境保护、仓储物流、公共安全、工业检测、平安家居等,几乎涉及到生活中的任何一个领域。物联网包含了海量的实体,这些实体每时每刻都会有新的状态,例如,通过传感器感知室内各种状况,温度,湿度还有光照程度等,感知道路的实时拥堵信息等。要实现对物联网的智能控制以及扩展对物联网的应用,就必须对这些海量实体的实时信息进行搜索分析,从这些海量实体返回的实时状态数据中搜寻得到有用的信息。例如,通过传感器感知的室内状况,搜索出特定温度的房间;通过道路的实时拥堵信息查找到不拥挤的道路;通过包裹传来的信息搜索受损的包裹等等。而获取物联网实体实时信息是这一切的前提条件。物联网实体信息通过网页实时发布,如何通过现有的互联网在动态网页上采集到这些实时跳变的数据成为了物联网研究领域的重要课题之一。根据网页中是否含有浏览器执行脚本,将网页分为静态网页和动态网页。静态网页的主体内容及其内部包含的超链接网络地址分别以文本信息和统一资源标识符(URL)的方式直接嵌入网页源文件的标记中。而动态网页中除了包含少量静态URL外,还含有大量必须通过浏览器执行脚本才能得到的超链接网络地址和网页主体内容。物联网实体实时信息发布就是通过动态页面实现,物联网实验平台将传感器感知到的信息使用Push方式推送到服务器端,通过JavaScript脚本动态加载到网页中,从而使页面数据实时更新,房间内的温度,湿度,光照一有变化,马上就能反映到页面上。对于静态网页,可以使用传统的网络爬虫抓取页面,通过HTML标记识别的方法,实现页面主体内容与其所含超链接网络地址的提取功能。但对于动态网页,传统的网络爬虫无法获取页面内容,更不能用传统的HTML标记方法提取到页面中实时跳变的数据。动态页面内容的获取方法有多种,但均不能实时获取页面跳变的数据。文献“金晓鸥,钟宝燕,李翔所著的基于Rhino的JavaScript动态页面解析研究与实现[J].计算机技术与发展,2008,18(02) =01-04,50.”中所述的方法脚本解释引擎Rhino无法识别JavaScript脚本片段中包含的HTML DOM(文件对象模型,是W3C组织推荐的处理可扩展置标语言的标准编程接口),在把动态网页脚本片段传递给Rhino前,需要先对脚本片段中的HTML DOM实现本地创建,给出每个HTML DOM的方法和属性描述。所述方法用时长且对于大量JavaScript加载网页来说非常繁琐。文献“万久士,李翔,林祥所著的基于JSSh的动态网页获取研究与实现[J].信息安全与通信保密.2010(04):93-95.”中的基于JSSh (Javascript ShellServer)的方案一次HTTP请求仅获取一次DOM信息,请求等待回应耗时长,无法满足实时动态的要求。综上所述,对于物联网实时动态页面数据的获取,在应对页面数据的动态性的同时要保证获取数据的实时性,以及所得到的数据对后续搜索分析工作的可扩展性。但是目前的网络爬虫或者页面采集工具无法实现动态数据的实时抓取,同时所得到的数据格式单一,可扩展性差。
技术实现思路
本专利技术的目的在于针对现有技术之弊端,提供,以实现物联网动态页面信息的实时抓取。本专利技术所述问题是以下述技术方案实现的: ,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块;其中,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据 存储模块进行存储。上述物联网动态页面实时信息采集方法,所述方法具体按以下步骤进行: 1)首先通过“Watir:: Browser, new”创建一个浏览器实例,从而来模拟浏览器的操作,通过“goto (’ http://10.14.11.100/sh/index.jsp’)”方法加载到物联网智能家居动态页面; 2)在Watir模拟浏览器的过程中,通过“onclick”方法模拟点击操作,对步骤I)中加载的页面实现翻页功能,通过“ Ii (:1d, ’ mainlevel_02’).links [O], click”方法实现模拟点击翻页操作; 3)通过IFrame框架的src属性使Watir定位到“jsp/wsd.jsp”,即用方法“.frame (: src, ’ jsp/wsd.jsp’) ”实现定位,其中“jsp/wsd.jsp”即为步骤2)中翻页后动态显示实时跳变数据的JavaScript模块; 4)利用Watir的等待机制以及Ruby的休眠机制来控制等待加载动态页面的时间,即通过“.wait”方法和“sle印O”方法实现等待; 5)Watir通过frame,html”方法获取步骤3)中框架下的HTML文档; 6)Nokogiri通过“Nokogir1::HTML, parse”方法爬取步骤5)获得的HTML文档,并进行解析; 7)Nokogiri 通过 css (’ div.shiduqu div.shidu’).text” 方法对步骤 6)中爬取的HTML文档实现CSS Selector定位功能,返回文本内容; 8)利用Ruby中的File类创建文档,用来存储步骤7)中返回的文本数据,通过“File,newΓ#{ij.txt, 〃w〃)”方法实现创建txt文档,并将内容写入文档中,其中“#{i} ”即为文档名,通过变量i来控制; 9)判断是否执行循环条件,从而实现循环存储的功能,即每循环一次就创建一个新的文档。本专利技术实现了物联网实体动态信息的实时获取及存储,而且不需要连接服务器上的数据库,具有良好的可扩展性,能满足物联网海量数据量的处理要求。附图说明下面结合附图对本专利技术作进一步说明。图1是物联网实时数据获取模块框架 图2是物联网动态页面五大模块的HTML片段; 图3是IFrame下的HTML文档片段; 图4是本专利技术的流程图。具体实施例方式本专利技术中需要用到Web自动化测试框架Watir, Ruby解析XML、HTML库Nokogiri,CSS Selector等技术,这些技术分别描述如下: O自动化测试工具Watir Watir 全称为 “Web Application Testing in Ruby”,是一个使用 Ruby 实现的开源Web自动化测试框架,相对于那些庞大的商业工具来说,它小巧,灵活,提供了很多功能。Watir可以模拟对IE进行各种操作,如:点击链接、填写表单、点击按钮及页面校验。W本文档来自技高网...

【技术保护点】
一种物联网动态页面实时信息采集方法,其特征是,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块;其中,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据存储模块进行存储。
【技术特征摘要】
1.一种物联网动态页面实时信息采集方法,其特征是,所述方法分为四个部分,涉及四个模块,这四个模块分别是加载页面模块、获取页面HTML模块、解析所得HTML模块和数据存储模块;其中,加载页面模块通过网络链接地址加载外部页面,并将加载的动态页面传递给获取HTML模块,由获取HTML模块获取该页面的HTML文档,同时将所获得的HTML文档传递给解析HTML模块,解析HTML模块通过定位技术从得到的HTML文档中解析出所需要的文本内容,并将这些文本内容传给数据存储模块进行存储。2.根据权利要求1所述的一种物联网动态页面实时信息采集方法,其特征是,所述方法具体按以下步骤进行: 1)首先通过“Watir:: Browser, new”创建一个浏览器实例,从而来模拟浏览器的操作,通过“goto (’ http://10.14.11.100/sh/index.jsp’)”方法加载到物联网智能家居动态页面; 2)在Watir模拟浏览器的过程中,通过“onclick”方法模拟点击操作,对步骤I)中加载的页面实现翻页功能,通过“ Ii (:1d, ’ mainlevel_02’).links [O], click”方法实现模拟点击翻页操作; 3)通过IFrame框架的sr...
【专利技术属性】
技术研发人员:孔英会,沈丹凤,
申请(专利权)人:华北电力大学保定,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。