一种提取html页面选定区域内容的方法

【专利摘要】一种提取html页面中选定区域内容的方法。该方法的特征在于,在步骤1中,将html源码转换为元素列表;在步骤2中,针对html源码制定一个分析模板,将该模板转换为元素列表;步骤3中,用步骤2生成的模板元素列表在步骤1生成的页面元素列表中进行最大相似度定位,找出页面元素列表中所有能够匹配模板元素列表的段落;在步骤4中,用步骤3所找出的元素段落与模板中的元素匹配,从而确认模板中的所有变量、可变模板所对应到的页面元素,在步骤5中,如果可变模板中定义了需要提取的信息,则定义可变模板子模板,将其与所对应的页面元素列表匹配,通过子模板中定义的变量来获取并不规则的页面元素列表中的信息。

【专利说明】一种提取html页面选定区域内容的方法

—:【技术领域】

[0001]计算机软件技术。一种提取html页面源代码中选定区域内容的方法。本发明使用java语言技术编写实现,但本发明并不局限于使用java语言实现,使用其他语言一样可以编写完成本发明所述方法。

二:【背景技术】

[0002]HTML: (HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。

[0003]HTML元素:也即HTML标签,是组成HTML文件的基本元素,指从开始标签(starttag)到结束标签(end tag)的所有代码。

[0004]JAVA语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言

[0005]WEB应用服务器:根据客户端发送的不同请求,调用商业逻辑处理请求,生成并通过HTTP协议返回HTML页面给客户端的应用程序。

[0006]静态HTML内容:WEB应用服务器返回给客户端的HTML页面中与客户端请求无关的部分,即无论请求内容怎么变,始终会存在于返回HTML页面中的部分。

[0007]动态HTML内容:WEB应用服务器返回给客户端的HTML页面中与客户端请求有关的部分,即如果请求内容有所改变,WEB应用服务器就会根据不同请求生成相应的HTML代码的部分。

三:

【发明内容】

[0008]本发明涉及一种提取html页面选定区域信息的方法。

[0009]更准确地说,本发明根据所要提取的html页面信息,分析选定区域html页面源码结构,生成一个模板,模板中含有变量,模板中变量位置所对应html页面源码位置即为所希望获取的页面信息,利用模板与html页面源码匹配比较,得到对应的变量值即为所要提取的html页面信息。

[0010]本发明打算用于互联网站点页面信息分析、可定制化的搜索引擎以及其他涉及页面内容自动提取的应用。站点页面信息分析,指通过程序自动将站点页面中的信息提取出来并存入数据库,然后再根据不同的逻辑进行分析;定制化搜索,指并不在数据库中保存html页面中的所有内容,而仅仅保存搜索引擎所感兴趣的html页面特定信息。

[0011]互联网站点网页,都是由WEB应用服务器生成的,这些页面中的html源码,包括两种内容。一种是静态html内容,另一种是动态html内容。

[0012]静态html内容中的html元素编写具有一定的随意性,不具有规律性,故此不容易针对这部分分析生成模板。

[0013]动态html内容中的html元素是由WEB应用程序根据商业逻辑批量生成的,绝大多数WEB应用程序所生成信息都来自于数据库,由于网站信息数据库存储的规范化,决定了 WEB应用程序批量生成的动态html内容中的html元素组成规则具有一定的规律性,具有可分析生成模板的可能性。而且数据分析所注重的信息,绝大多数也都存在于WEB应用服务器所生成的动态html内容之内。

[0014]动态html内容的规律化,也是相对的,由于不同的需求,同一段WEB应用服务器程序生成的多段html内容中html元素的组成规则可能会有细微的差别。本发明在页面分析模板中嵌入了可变模板,可变模板用于匹配格式不规律的动态html内容,进而通过可变模板中定义的变量来获取格式并不规律的动态html内容中的可用信息。

四:【具体实施方式】

[0015]步骤I中,将html页面源码转换为页面html元素列表

[0016]下表所示为html源码及其元素列表,其中表格加有底纹处为WEB应用服务器自动生产的动态html内容,共有2个

〈/tr>标签段落,在动态html内容中加有方框处为希望提取的页面信息,加粗且倾斜字体处为两段〈trX/tr〉动态html代码标签段落中的不规则处(也即在第一段中出现,而在第二段中未出现);

【权利要求】

1.一种提取html页面中选定区域内容的方法,该程序包括多个方法,即许多个程序段。该方法的特征在于,在步骤I中,将html页面源码转换为页面html元素列表;在步骤2中,分析html页面代码中要提取的部分,制定一个页面分析模板,并将该模板转换为模板html元素列表;步骤3中,用步骤2生成的分析模板html元素列表在步骤I生成的页面html元素列表中进行最大相似度定位,找到页面的html元素列表中所有能够匹配分析模板html元素列表的段落所在位置;在步骤4中,用步骤3所定位出的html元素段落与分析模板中的元素匹配,从而确认分析模板中的所有变量、可变模板所对应到的页面html元素,在步骤5中,如果步骤4所提取出的可变模板所对应的不规则页面html元素中有需要提取出的信息,则再给可变模板定义子模板,将其与所对应的页面html元素列表匹配,进而通过子模板中定义的变量来获取格式并不规则的页面html元素列表中的可用信息。

2.根据权利要求1所述的方法,其特征在于,将html页面源码作为字符串读入,并将该字符串解析为页面html元素列表。

3.根据权利要求1或2所述的方法,其特征在于,分析html页面中选定区域的html元素,制定页面分析模板,模板分三种元素,一,常量,即该区域html代码中必然出现且内容不变的部分,通常为静态html代码;二,变量,即该区域html代码中必然出现且可变的部分,通常为动态html代码;三,可变模板,即该区域可能出现也可能不出现的html代码,通常也为动态html代码。在模板定义完成之后,将该模板字符串转换为模板html元素列表。

4.根据权利要求1、2或3所述的方法,其特征在于,通过使用自定义的最大相似度算法,将模板html元素列表在页面html元素列表上进行定位,找出页面html元素列表上所有能够匹配模板html元素列表的段落。

5.根据权利要求1、2、3或4所述的方法,其特征在于,用模板html元素列表与定位的页面html元素列表段落进行匹配,找出对应模板中变量、可变模板的页面元素内容。即为所欲提取出的页面信息。

6.根据权利要求1、2、3、4或5所述的方法,其特征在于,如果可变模板所对应的html元素中还有进一步需要提取的信息,则需再给可变模板定义子模板,将其与所对应的html元素列表匹配,进而通过子模板中定义的变量来获取格式并不规则的页面html元素列表中的可用信息。

【文档编号】G06F9/44GK103488665SQ201310204988

【公开日】2014年1月1日 申请日期:2013年5月24日 优先权日:2013年5月24日

【发明者】赵冰 申请人:赵冰

选定区域着色html,一种提取html页面选定区域内容的方法相关推荐

  1. 选定区域着色html,PS怎么填充颜色到选中区域?PS填充颜色到选中区域的方法

    PS是一款非常好用的图片编辑软甲,在平时的工作中经常用到,你知道PS怎么填充颜色到选中区域的吗?接下来我们一起往下看看PS填充颜色到选中区域的方法吧. 方法步骤 1.首先你要确认选择你要填充的区域,然 ...

  2. Python 使用pdfplumber 提取PDF页面表格的内容

    前提:提取文本内容的文件必须是应用服务生成PDF文件,而非扫描的pdf文档,当前pdfplumber的版本为0.5.28 前面是利用page.extract_text()直接提取PDF文件中的文本内容 ...

  3. 保留已经定位区域MATLAB,基于HSV肤色提取与连通区域过滤的人脸定位算法(Matlab)...

    概述 本篇记录了利用基于HSV颜色模型的肤色提取与连通区域过滤实现图片的人脸定位,附带知识的介绍略烦多,附带Matlab相关程序代码. 一.预备知识 图像预处理 1.1 灰度化 在RGB模型中,如果R ...

  4. 计算机提取干涉条纹原理,两种提取Fabry-Perot干涉条纹圆心的新方法

    摘要本文介绍两种提取Fabry-Perot干涉条纹圆心点坐标的新方法.首先对干涉图像依次进行二值化处理,对所得到的条纹强度曲线进行均平滤波和自适应滤波,根据条纹灰度值强度余弦函数分布的特点,对条纹灰度 ...

  5. 提取图像感兴趣区域_从图像中提取感兴趣区域

    提取图像感兴趣区域 Welcome to the second post in this series where we talk about extracting regions of intere ...

  6. XP中准确对图像分区域着色(转)

    XP中准确对图像分区域着色(转) 当在幻灯片中插入图像后,发现图像颜色与幻灯片搭配不合适的话,你也许会使用图像工具栏中的"图像重新着色"命令,不过使用这种方式修改图像颜色时,难以准 ...

  7. Python使用matplotlib可视化面积图(Area Chart)、通过给坐标轴和曲线之间的区域着色可视化面积图、在面积图的指定区域添加箭头和数值标签

    Python使用matplotlib可视化面积图(Area Chart).通过给坐标轴和曲线之间的区域着色可视化面积图.在面积图的指定区域添加箭头和数值标签 目录

  8. R语言ggplot2可视化:使用R原生plot函数为指定曲线下面的区域着色、ggplot2可视化在曲线的特定下方添加分割线、ggplot2为指定曲线下面的区域着色

    R语言ggplot2可视化:使用R原生plot函数为指定曲线下面的区域着色.ggplot2可视化在曲线的特定下方添加分割线.ggplot2为指定曲线下面的区域着色 目录

  9. ITK:提取二值图像中连接区域的边界

    ITK:提取二值图像中连接区域的边界 内容提要 输出结果 C++实现代码 内容提要 提取二进制图像中连接区域的边界. 输出结果 C++实现代码 #include "itkImage.h&qu ...

最新文章

  1. 在参加了39场Kaggle比赛之后,有人总结了一份图像分割炼丹的「奇技淫巧」
  2. python壁纸4k_【python日常学习】爬取4K桌面壁纸
  3. 微软“影子系统”Windows SteadyState 末日将至
  4. ssl1010-方格取数
  5. elementui表格-改变某一列的样式
  6. 马士兵java教程笔记_马士兵java教程笔记4
  7. 大型分布式C++框架《三:序列化与反序列化》
  8. mysql 比较一个字符串_比较MySQL中的两个字符串?
  9. 列表的修改,复制,遍历,嵌套和查询
  10. 渲染标签文字(光晕效果)
  11. coolfire的八篇入门文章(.txt)
  12. STM32跑html协议,STM32移植SBUS协议
  13. General VDPConfig对讲配置工具
  14. Eclipse及其常用插件的下载地址
  15. 微信小程序开发https设置
  16. AsyncTask简介
  17. Mathematics Subject Classification (MSC)
  18. ajax:php数组数据类型
  19. 《SAP CRM管理与实施指南》一一1.2 SAP CRM解决方案概述
  20. Pytorch 混合精度训练(Automatic Mixed Precision)原理解析

热门文章

  1. 如何使用JavaScript检查数字是否为素数?
  2. 你见过的最全面的Python重点(附代码演示)
  3. windows 安装metis_Metis 5.1.0 安裝心得 in Win10
  4. 事业单位人力资源开发中的职业发展分析
  5. IEEE-754标准与浮点数运算
  6. C语言:裴波那契数列(数组)
  7. 2007-2020年上市公司研发投入匹配数字化转型
  8. 中国企业软件公司的转型之路
  9. Linux系统概述及常用命令
  10. [审核]审核被拒绝(开发账号目前正在接受调查)