当前位置: 首页 > 专利查询>南通大学专利>正文

复杂表格动态解析方法技术

技术编号:10135644 阅读:129 留言:0更新日期:2014-06-16 15:01
本发明专利技术提供复杂表格动态解析方法,包括抓取网页服务器数据,先由手机用户的本地服务器打开网络连接,手机用户输入抓取数据的网页网址,本地服务器和网页服务器建立数据连接;本地服务器处理网页服务器数据,本地服务器根据抓取的网页服务器数据的属性值,确定单元格的坐标和所占的行列数,将确定后的数据保存到本地服务器数据库硬盘上;手机用户获取本地服务器数据,手机用户打开网络连接,手机用户与本地服务器建立数据连接,手机用户读取所述本地服务器数据库硬盘上的数据,本地服务器恢复网页服务器中的单元格,显示到手机用户屏幕上。

【技术实现步骤摘要】
【专利摘要】本专利技术提供,包括抓取网页服务器数据,先由手机用户的本地服务器打开网络连接,手机用户输入抓取数据的网页网址,本地服务器和网页服务器建立数据连接;本地服务器处理网页服务器数据,本地服务器根据抓取的网页服务器数据的属性值,确定单元格的坐标和所占的行列数,将确定后的数据保存到本地服务器数据库硬盘上;手机用户获取本地服务器数据,手机用户打开网络连接,手机用户与本地服务器建立数据连接,手机用户读取所述本地服务器数据库硬盘上的数据,本地服务器恢复网页服务器中的单元格,显示到手机用户屏幕上。【专利说明】
本专利技术涉及电子技术应用领域,具体涉及一种,即将网页中的表格解析并对等转换为手机中的表格。
技术介绍
随着手机之类的便携式移动终端进入了智能时代,而且配置也是越来越高,以前人们根本无法想到的功能现在都已经能够在手机之类的移动终端上实现,人们对手机的商务应用越来越看重,针对目前移动终端上只能生成简单的表格,无法满足用户有浏览复杂表格的需求。同时,在编写安卓客户端程序时,对于解析HTML页面,现存有三种方法。若是桌面应用,可以使用HTMLPARSER工具;第二种方法是使用正则表达式来抽取数据;第三种方法是纯字符串查找定位来实现。但是,这些方法对于解析复杂表格都存在一些缺陷。因为复杂表格每一行有几列是不固定的,存在较多的单元格合并问题而不能真正实现对等转换,不能真实的反映网络中的复杂表格,使用户的视觉体验降低。
技术实现思路
本专利技术人发现,要解决上述现有方法存在的缺陷,需要考虑以下问题:一、如何从网页中提取复杂表格的代码。现有的方法只能实现静态地生成简单表格,而且所存在的方法也并不完善,无法解决合并行合并列问题,不能够很完整地将网页中的表格显示在手机平台上。二、怎样获取该表格每一个单元格的详细数据。现有的方法是通过循环的方式依次读取表格中每一个单元格的数据并存储,而对于复杂表格,这种方法会产生单元格错位和数据覆盖错误。三、怎样用动态分布算法处理这些数据。因为数据并不是有规律的存储在表格中,所以在处理这些数据时,要采用一种动态分布算法。四、如何在手机用户界面中动态的复原这些表格。因为表格是复杂的,当表格中存在多行多列合并时,简单的循环会产生行列错位和数据覆盖等错误,所以不能简单的运用循环来生成表格。本专利技术提供,包括如下步骤:S1.本地服务器根据移动终端用户输入的网页网址,与网页服务器建立数据连接,以抓取网页服务器数据;S2.本地服务器根据抓取的网页服务器数据的属性值,确定单元格的坐标和所占的行列数,将确定后的单元格的坐标和所占的行列数保存到本地服务器;S3.本地服务器恢复网页服务器中的单元格,输出到移动终端中显示。在一些实施方式中,步骤SI进一步包括:本地服务器打开网络连接,网络连接为局域网络连接和互联网网络连接两者中至少一个。在一些实施方式中,属性值包括,行属性标签<tr>、列属性标签<td>、CO I Span属性和rowSpan属性,col Span属性表示表格单元格可横跨的列数,rowSpan属性表示表格单元格可横跨的行数。在一些实施方式中,步骤S2中的确定单元格的坐标和所占的行列数包括:用Elements分离出本地服务器抓取的网页服务器数据中〈table〉标签的源码,将分离出的源码使用Elements获得<tr>标签和<td>标签,用Element中attr方法解析出<td>标签的Co I Span 和 rowSpan 属性值。在一些实施方式中,步骤S3中本地服务器恢复网页服务器中的单元格包括:本地服务器接收表格数据后,创建GridLayout表格,将表格数据下载并保存到移动终端中,本地服务器读取每个单元格数据,创建控件textview,并根据表格数据初始化控件的行列坐标和所占行列数,和将控件textview放入GridLayout显示。因此,本专利技术的目的在于提供,能够在手机上对等显示网络中的复杂表格,从而达到更好的用户体验效果。【专利附图】【附图说明】图1为本专利技术一种实施方式的中从网页服务器抓取数据的流程图。图2为本专利技术一种实施方式的中本地服务器处理网页服务器数据的流程图。图3为本专利技术一种实施方式的中手机用户获取本地服务器数据的流程图。【具体实施方式】下面结合附图及具体实施例,以在手机用户界面上显示表格的应用为例,对本专利技术作进一步的详细说明。本专利技术提供的,包括:从网页服务器抓取数据:先由手机用户的本地服务器打开网络连接,手机用户输入抓取数据的网页网址,本地服务器和网页服务器建立数据连接。本地服务器处理从网页服务器抓取的数据:本地服务器根据从网页服务器抓取数据的属性值,确定单元格的坐标和所占的行列数,将确定后的单元格的坐标和所占的行列数保存到本地服务器数据库硬盘上。手机用户获取本地服务器数据:手机用户打开网络连接,通过网络和本地服务器建立连接,手机用户读取保存本地服务器数据库硬盘上的单元格的坐标和所占的行列数数据,本地服务器恢复网页中的单元格,显示到手机屏幕上。网页服务器抓取数据流程,如图1所示,本地服务器打开网络连接,网络连接包括:局域网络连接或互联网连接或局域网连接加互联网连接,网络连接方法为现有技术,在此不做详细说明。手机用户输入抓取数据的网页网址,并和目标服务器建立数据连接。确定最大响应时间,若超过最大响应时间无响应,则退出程序。在网络正常连接的情况下最大响应时间的返回标志位应为200,根据返回的标志位是否为200,来判断是否已建立连接,若不是200,则退出;若是200则成功建立连接,则手机用户与目标服务器建立数据连接,手机用户发送网页源码请求,目标服务器响应本地服务器请求,接收网页源码(步骤101)。本地服务器按照<meta>标签中指定的网页编码格式对目标服务器发送的网页源码进行解码。在本实施例中指定的网页编码格式为〈GB2312〉(步骤102)。将解码完成的数据保存在本地服务器的数据库硬盘当中(步骤103)。本地服务器处理网页服务器数据,如图2所示,首先从网络上下载Jsoup的jar包,并把它导入工程文件夹当中(步骤201)。在本专利技术的该实施例中,是基于Jsoup软件实现的。但本专利技术并不限于此。从本地服务器数据库硬盘上将存储的网页源码数据读取到计算机内存当中,并保存为字符串类型的数据。然后将保存的字符串中的数据放入Jsoup.parse当中,用Elements分离出〈table〉标签的所有源码(步骤202)。将分离出的所有源码依次使用Elements获得<tr>标签和<td>标签,〈tr>标签表示网页中表格的一行,<td>标签表示网页中表格的一个单元格,并用Element中attr方法解析出<td>标签的colSpan和rowSpan属性,colSpan属性规定表格单元格可横跨的列数,rowSpan属性规定表格单元格可横跨的行数,利用Jsoup中的text方法获取<td>标签中的文本内容。本地服务器根据<tr>标签、<td>标签、colSpan和rowSpan属性值,计算出单元格的坐标和所占的行列数(步骤203)本文档来自技高网...

【技术保护点】
复杂表格动态解析方法,包括如下步骤:S1.本地服务器根据移动终端用户输入的网页网址,与网页服务器建立数据连接,以抓取网页服务器数据;S2.所述本地服务器根据所述抓取的网页服务器数据的属性值,确定单元格的坐标和所占的行列数,将确定后的所述单元格的坐标和所占的行列数保存到本地服务器;S3.所述本地服务器恢复网页服务器中的单元格,输出到移动终端中显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:施佺肖瑶孙玲王俭冯愿徐露吴俊陈翔
申请(专利权)人:南通大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1