CN105589913A - 一种提取页面信息的方法及装置 - Google Patents

一种提取页面信息的方法及装置 Download PDF

Info

Publication number
CN105589913A
CN105589913A CN201510335008.8A CN201510335008A CN105589913A CN 105589913 A CN105589913 A CN 105589913A CN 201510335008 A CN201510335008 A CN 201510335008A CN 105589913 A CN105589913 A CN 105589913A
Authority
CN
China
Prior art keywords
default
information
source code
label information
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510335008.8A
Other languages
English (en)
Inventor
蔡明�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou UCWeb Computer Technology Co Ltd
Guangzhou Dongjing Computer Technology Co Ltd
Original Assignee
Guangzhou Dongjing Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Dongjing Computer Technology Co Ltd filed Critical Guangzhou Dongjing Computer Technology Co Ltd
Priority to CN201510335008.8A priority Critical patent/CN105589913A/zh
Publication of CN105589913A publication Critical patent/CN105589913A/zh
Priority to US15/183,069 priority patent/US10515142B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种提取页面信息的方法及装置。其中,该方法包括:获取网页中待处理的源代码;根据预设的过滤特征字符串和预设的标签匹配模式,从源代码中提取目标信息;根据提取的目标信息生成指定格式的页面信息。通过本发明,根据预设的过滤特征字符串和预设的标签匹配模式来提取目标信息,避免了通过DOM树提取待处理网页的所有内容,提高了提取页面信息的效率,适用于不同类型移动终端提取及显示页面信息。

Description

一种提取页面信息的方法及装置
技术领域
本发明涉及互联网及终端技术领域,具体而言,涉及一种提取页面信息的方法及装置。
背景技术
目前,网页一般是针对屏幕较大的终端设计的,网页内容丰富且结构复杂。但现在用户经常通过屏幕较小的移动终端来浏览网页,为了提高网页在移动终端上显示时的可读性,需要从网页中提取出适于在移动终端上显示的页面信息。
当前,相关技术中提供了一种基于DOM(DocumentObjectModel,文档对象模型)树结构的提取页面信息的方法,包括:获取网页,对该网页进行词法分析,得到该网页包含的每个单词。对得到的每个单词进行语法分析,得到该网页页面包括的各个节点,通过脚本分析将得到的各个节点组成DOM树。然后通过基于DOM的数据识别算法识别该DOM树中与目标信息相关的页面信息,并显示识别出的页面信息。
在实现本发明的过程中,发明人发现相关技术中至少存在以下问题:
基于DOM树结构的提取页面信息的方法,需要对网页的所有内容进行分析,其中包含了大量与目标信息无关的单词及节点,导致提取页面信息的效率很低。
发明内容
有鉴于此,本发明实施例的目的在于提供一种提取页面信息的方法及装置,避免了通过DOM树提取待处理网页的所有内容,提高了提取页面信息的效率。
第一方面,本发明实施例提供了一种提取页面信息的方法,所述方法包括:
获取网页中待处理的源代码;
根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息;
根据提取的所述目标信息生成指定格式的页面信息。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
对所述源代码进行词法分析,得到所述源代码的每个标签信息;
从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息,包括:
读取所述标签信息的开标签字符串;
判断所述开标签字符串中是否包含预设的过滤特征字符串;
若所述开标签字符串中包含所述预设的过滤特征字符串,则确定所述标签信息为与所述预设的过滤特征字符串相匹配的标签信息,从所述源代码中删除所述标签信息。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述预设的标签匹配模式为单一匹配模式;所述从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息,包括:
根据所述单一匹配模式依次对所述未删除的标签信息进行模式匹配;
提取符合所述单一匹配模式的标签信息作为目标信息。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述预设的标签匹配模式为组合匹配模式;所述从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息,包括:
根据所述组合匹配模式依次对所述未删除的标签信息进行模式匹配;
提取顺序分布且其组合能够满足所述组合匹配模式的多个标签信息作为目标信息。
结合第一方面及第一方面的第一至第四种可能的实现方式中任一种方式,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述获取网页中待处理的源代码,包括:
根据预设的分段特征字符串将网页的源代码划分为多个代码段,分别获取每个所述代码段作为待处理的源代码;
相应地,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
根据预设的过滤特征字符串和预设的标签匹配模式分别从所述多个代码段中提取目标信息。
结合第一方面及第一方面的第一至第四种可能的实现方式中任一种方式,本发明实施例提供了上述第一方面的第六种可能的实现方式,其中,所述获取网页中待处理的源代码,包括:
根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,分别获取划分出的每个代码段作为待处理的源代码;
相应地,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
根据预设的过滤特征字符串和预设的标签匹配模式分别从所述划分出的每个代码段中提取目标信息。
结合第一方面,本发明实施例提供了上述第一方面的第七种可能的实现方式,其中,所述根据提取的所述目标信息生成指定格式的页面信息,包括:
根据提取的所述目标信息,生成相应的页面显示代码,所述页面显示代码用于使浏览器加载以显示所述目标信息对应的页面信息。
结合第一方面,本发明实施例提供了上述第一方面的第八种可能的实现方式,其中,所述方法还包括:
获取用户对应的移动终端的信息,所述移动终端的信息至少包括以下中的一种或多种:所述移动终端的型号、显示屏参数和硬件性能参数;
根据所述移动终端的信息,设定所述过滤特征字符串和所述标签匹配模式。
结合第一方面,本发明实施例提供了上述第一方面的第九种可能的实现方式,其中,所述获取网页中待处理的源代码,包括:
接收用户的网页获取请求,将所述网页获取请求发送至相应的网站服务器;
接收所述网站服务器以流式传输方式发送的网页的源代码,将当前接收到的流式传输的源代码作为待处理的源代码。
第二方面,本发明实施例提供了一种提取页面信息的装置,所述装置包括:
获取模块,用于获取网页中待处理的源代码;
提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息;
生成模块,用于根据提取的所述目标信息生成指定格式的页面信息。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述提取模块包括:
词法分析单元,用于对所述源代码进行词法分析,得到所述源代码的每个标签信息;
过滤单元,用于从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
提取单元,用于从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述过滤单元包括:
读取子单元,用于读取所述标签信息的开标签字符串;
判断子单元,用于判断所述开标签字符串中是否包含预设的过滤特征字符串;
删除子单元,用于若所述开标签字符串中包含所述预设的过滤特征字符串,则确定所述标签信息为与所述预设的过滤特征字符串相匹配的标签信息,从所述源代码中删除所述标签信息。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述预设的标签匹配模式为单一匹配模式;所述提取单元包括:
第一模式匹配子单元,用于根据所述单一配模式依次对所述未删除的标签信息进行模式匹配;
第一提取子单元,用于提取符合所述单一匹配模式的标签信息作为目标信息。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述预设的标签匹配模式为组合匹配模式;所述提取单元包括:
第二模式匹配子单元,用于根据所述组合匹配模式依次对所述未删除的标签信息进行模式匹配;
第二提取子单元,用于提取顺序分布且其组合能够满足所述组合匹配模式的多个标签信息作为目标信息。
结合第二方面及第二方面的第一至第四种可能的实现方式中任一种方式,本发明实施例提供了上述第二方面的第五种可能的实现方式,其中,所述获取模块,用于根据预设的分段特征字符串将网页的源代码划分为多个代码段,分别获取每个所述代码段作为待处理的源代码;
相应地,所述提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式分别从所述多个代码段中提取目标信息。
结合第二方面及第二方面的第一至第四种可能的实现方式中任一种方式,本发明实施例提供了上述第二方面的第六种可能的实现方式,其中,所述获取模块,用于根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,分别获取划分出的每个代码段作为待处理的源代码;
相应地,所述提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式分别从所述划分出的每个代码段中提取目标信息。
结合第二方面,本发明实施例提供了上述第二方面的第七种可能的实现方式,其中,所述生成模块,用于根据提取的所述目标信息,生成相应的页面显示代码,所述页面显示代码用于使浏览器加载以显示所述目标信息对应的页面信息。
结合第二方面,本发明实施例提供了上述第二方面的第八种可能的实现方式,其中,所述装置还包括:
设定模块,用于获取用户的移动终端的信息,所述移动终端的信息至少包括以下中的一种或多种:所述移动终端的型号、显示屏参数和硬件性能参数;根据所述移动终端的信息,设定所述过滤特征字符串和所述标签匹配模式。
结合第二方面,本发明实施例提供了上述第二方面的第九种可能的实现方式,其中,所述获取模块包括:
发送单元,用于接收用户的网页获取请求,将所述网页获取请求发送至相应的网站服务器;
接收单元,用于接收所述网站服务器以流式传输方式发送的网页源代码,将当前接收到的流式传输的源代码作为待处理的源代码。
在本发明实施例提供的方法及装置中,根据预设的过滤特征字符串和预设的标签匹配模式,从源代码中提取目标信息;根据提取的目标信息生成指定格式的数据。由于根据预设的过滤特征字符串和预设的标签匹配模式来提取目标信息,过滤掉了不适合在小屏幕的移动终端上显示的页面信息,避免了通过DOM树提取待处理网页的所有内容,提高了提取页面信息的效率,且适用于不同类型移动终端提取及显示页面信息。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的一种提取页面信息的方法流程图;
图2A示出了本发明实施例2所提供的一种提取页面信息的方法流程图;
图2B示出了本发明实施例2提供的一种待处理网页的示意图;
图2C示出了本发明实施例2所提供的移动终端显示的提取的页面信息的示意图;
图3A示出了本发明实施例3所提供的一种提取页面信息的装置结构示意图;
图3B示出了本发明实施例3所提供的另一种提取页面信息的装置结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中基于DOM树结构的提取页面信息的方法,需要对网页的所有内容进行分析,导致提取页面信息的效率很低。基于此,本发明实施例提供了一种提取页面信息的方法及装置。下面通过实施例进行描述。
实施例1
参见图1,本发明实施例提供了一种提取页面信息的方法。在本发明实施例中根据预设的过滤特征字符串和预设的标签匹配模式从待处理网页的源代码中提取目标信息。该方法具体包括以下步骤:
步骤101:获取网页中待处理的源代码;
目前移动终端上都设置有浏览器,用户经常通过移动终端上的浏览器来浏览网页。上述网页可以是通过移动终端上的浏览请求打开或下载的网页。
在本步骤中可以通过如下方式来获取网页中待处理的源代码,具体包括:接收用户的网页获取请求,将网页获取请求发送至相应的网站服务器;接收网站服务器以流式传输方式发送的网页的源代码,将当前接收到的流式传输的源代码作为网页中待处理的源代码。
上述流式传输方式为网站服务器实时地、连续地将网页的源代码发送给移动终端,移动终端可以边接收网页的源代码边对已接收到的部分进行处理,不需要等到接收到网页的全部的源代码。通过这种流式传输方式来获取网页的源代码,实现了边获取源代码边从已获取的部分源代码中提取页面信息,提高了获取页面信息的效率。
另外,考虑到网页的源代码内容通常比较多,本发明还可以根据具体的需求,将网页的源代码划分为多个代码段,或者从源代码中提取出所需的一段代码进行处理,以减少单次处理的源代码数据量。
将源代码划分为多个代码段,可以根据预设的分段特征字符串,从网页源代码的起始处开始,顺序查找与分段特征字符串相匹配的字符串,在相匹配的字符串处进行划分,将网页的源代码划分为多个代码段。从源代码中提取出所需的一段代码,可以根据预设的起始字符串和结束字符串,从网页的源代码中划分出所需的代码段。
步骤102:根据预设的过滤特征字符串和预设的标签匹配模式,从源代码中提取目标信息;
上述从源代码中提取目标信息的具体提取过程为:对源代码进行词法分析,得到源代码的每个标签信息;从得到的所有标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;再从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
对源代码进行词法分析时,可以从源代码的起始处开始,顺序遍历源代码包含的每个字符,通过词法分析将遍历的字符转换为源代码包含的标签信息。
本发明中的标签信息是指能够在页面上构成一项完整信息的源代码字符串,以HTML(HyperTextMarkupLanguage,超文本标记语言)语言为例,字符串<ahref="http://tv.UC.com">视频</a>构成一项超链接信息,而字符串<imgsrc="/i/eg_tu.jpg"alt="flower"/>构成一项图片信息,上述源代码均是一个标签信息。而由多个标签嵌套构成的更为复杂的一项信息,如导航栏等,其所对应的源代码字符串也作为一个标签信息。
对于闭合类型的标签,标签信息包括相互对应的开标签字符串、闭标签字符串及开标签字符串和闭标签字符串之间的全部字符串;对于自闭合类型的标签,其没有形成开标签和闭标签的组合方式,即其标签信息包括标签中的全部字符串。
例如,超链接标签<a>,其为闭合类型的标签,其标签信息为开标签字符串<a…>、闭标签字符串</a>,以及字符串<a…>与字符串</a>之间的所有字符串。如超链接标签<ahref="http://tv.UC.com">视频</a>,其标签信息包括字符串<ahref="http://tv.UC.com">、字符串</a>以及“视频”。
再如,图片标签<img>,其为自闭合类型标签,其标签信息为标签中的全部字符串。如图片标签<imgsrc="/i/eg_tu.jpg"alt="flower"/>,其标签信息即包括字符串<imgsrc="/i/eg_tu.jpg"alt="flower"/>中的所有字符。
对于源代码中的每个标签信息,可以通过如下操作来删除与预设的过滤特征字符串相匹配的标签信息,具体包括:
读取标签信息的开标签字符串;本发明实施例中,对于闭合类型的标签,则读取其开标签字符串;对于自闭合类型的标签,则读取其标签中的所有字符串作为其开标签字符串。
判断开标签字符串中是否包含预设的过滤特征字符串;在判断出开标签字符串中包含预设的过滤特征字符串时,确定该标签信息为与预设的过滤特征字符串相匹配的标签信息,则该标签信息为需要过滤的标签信息,从源代码中删除该标签信息。
而在判断出该标签信息不是与预设的过滤特征字符串相匹配的标签信息时,则进一步判断该标签信息是否符合预设的标签匹配模式,如果符合,则将该标签信息确定为目标信息。
在本发明实施例中,技术人员可以根据标签类型来设置预设的标签匹配模式,标签类型可以为超链接、文本、图片和视频等类型。预设的标签匹配模式可以为单个标签类型构成的单一匹配模式,也可以为多种标签类型组合构成的组成匹配模式。
上述预设的标签匹配模式为单一匹配模式时,从未删除的标签信息中,根据该单一匹配模式依次对未删除的标签信息进行模式匹配;提取符合该单一匹配模式的标签信息作为目标信息。
上述的标签匹配模式为组合匹配模式时,从未删除的标签信息中,根据该组合匹配模式依次对未删除的标签信息进行模式匹配;提取顺序分布且其组合能够满足该组合匹配模式的多个标签信息作为目标信息。
上述对标签信息进行过滤和模式匹配,是以标签信息中的开标签字符串为依据进行的。标签信息的开标签字符串中既包含表示标签类型的字符,也可能包含过滤特征字符串。以如下HTML语言的网页源代码为例进行说明,在超链接标签<ahref="http://tv.UC.com">视频</a>中,其标签信息的开标签字符串为<ahref="http://tv.UC.com">,通过其开标签字符串可判断该标签信息的类型为超链接标签类型<a>。假定预设的过滤特征字符串为“tv”,该标签信息的开标签字符串中包含该过滤特征字符串“tv”,则确定该标签信息为需要过滤的标签信息,需从源代码中删除。
过滤特征字符串可以根据具体需要进行自定义设置,通过设置过滤特征字符串和预设的标签匹配模式,可以过滤标签信息并进一步提取出目标信息。
为了便于理解本发明实施例提供的提取目标信息的方法,下面举例进行说明。假定预设的过滤特征字符串为“tv”,预设的标签匹配模式为组合匹配模式(texta),其表示提取一个文本标签信息和一个超链接标签信息。以如下源代码为例,该源代码中的一段包括如下标签信息1-3,对该源代码进行过滤及模式匹配的方式如下:
标签信息1:<ahref="http://tv.UC.com">视频</a>
标签信息2:<P>直播足球赛</P>
标签信息3:<ahref="http://bbs.UC.com">论坛</a>
对于标签信息1,由于其开标签字符串<ahref="http://tv.UC.com">中包含预设的过滤特征字符串“tv”,则确定该标签信息1为需要过滤的标签信息,需从源代码中删除标签信息1。
对于标签信息2和3,由于标签信息2的开标签字符串<P>中不包含预设的过滤特征字符串“tv”,标签信息3的开标签字符串<ahref="http://bbs.UC.com">中也不包含预设的过滤特征字符串“tv”。则标签信息2和3都不是需要过滤的标签信息,无需删除。然后进一步判断标签信息2是否符合预设的标签匹配模式(texta),由于标签信息2为text类型标签,符合标签匹配模式(texta)的第一项,则继续匹配下一个标签信息3。由于标签信息3为超链接标签信息<a>,符合预设的标签匹配模式(texta)的第二项,则标签信息2和3的组合能够符合预设的标签匹配模式(texta),则将标签信息2和3确定为需要提取的目标信息。
本发明对源代码进行过滤和模式匹配时,以单个的标签作为判断的基本元素,即以token为单位进行判断。以HTML语言为例,token的格式如下<*…>,如超链接标签<ahref="http://tv.UC.com">视频</a>中包括两个token,分别是开标签字符串<ahref="http://tv.UC.com">及闭标签字符串</a>。以token作为过滤和模式匹配的基础判断元素,对于基于标签的网页编程语言尤其是HTML语言,便于进行词法分析,可提高过滤和模式匹配的效率。
对源代码进行过滤时,对于闭合类型的标签,若标签信息的开标签token包含过滤特征字符串,则进入过滤状态,读取之后的所有字符串直至读取到对应的闭标签token,将此期间读取到的所有字符串,连同开标签token和闭标签token均进行过滤,从源代码中删除。对于自闭合类型的标签信息,若自闭合类型的标签信息的开标签token包含过滤特征字符串,则直接从源代码中删除该标签信息,由于自闭合类型的标签信息的全部字符串即为其开标签字符串,则删除其开标签token即可。
而在进行模式匹配时,是根据开标签token进行匹配,若当前开标签token符合预设的匹配模式,则获取下一个开标签token继续进行模式匹配,直至对所有标签信息均进行了匹配。
上述对源代码进行处理的方式,是先进行过滤处理,然后进行模式匹配处理,此种方法对于多数基于标签的网页编程语言尤其是HTML语言的源代码,具有较高的提取效率。但本领域技术人员能够想到也可以采用先进行模式匹配,再进行过滤处理的方式,两种方式的提取效率可能会存在差别,但不影响最终的提取结果。
步骤103:根据提取的目标信息生成指定格式的页面信息。
由于根据预设的过滤特征字符串和预设的标签匹配模式提取的目标信息并不是标准的程序代码,浏览器无法根据提取的目标信息直接加载并显示目标信息对应的页面信息。所以还需要根据提取的目标信息生成指定格式的页面信息。在本步骤中可以通过如下方式来生成指定格式的页面信息:根据提取的目标信息,生成相应的页面显示代码,该页面显示代码用于使浏览器加载以显示目标信息对应的页面信息。
上述页面显示代码可以为HTML语言格式的程序代码。经过上述生成操作之后,浏览器可以根据生成的程序代码加载并显示目标信息对应的页面信息。
以上介绍的提取页面信息的方法,能够从网页中提取出所需的页面信息,该方法适用于不同类型的移动终端提取并显示页面信息。
通常,不同的移动终端其页面显示能力也各不相同,如屏幕尺寸大小不同。移动终端的屏幕尺寸很小时可能显示较少的页面信息就显得非常拥挤。
因此,上述方案中设定预设的过滤特征字符串及预设的标签匹配模式时,可以综合考虑移动终端的型号,屏幕的尺寸和分辨率等参数以及移动终端的硬件处理性能等信息,根据上述信息确定预设的过滤特征字符串及预设的标签匹配模式,能够使提取的页面信息更加适合于用户的移动终端来显示。
如移动终端的屏幕尺寸很小时,需要过滤多种信息,提取更精炼的页面信息,更合理的在小屏幕移动终端上显示页面信息。则通过设定的过滤特征字符串过滤掉不适于小屏幕移动终端的标签信息。不适于小屏幕的移动终端的标签信息可以为视频类的标签信息、图像类的标签信息或一些子类链接等标签信息。技术人员可以根据具体需要,将不适于小屏幕移动终端的标签信息包含的字符串设置为预设的过滤特征字符串。通过将不适于小屏幕移动终端的标签信息过滤掉,保留适于小屏幕移动终端的标签信息,从而保证最终提取的页面信息适合在小屏幕的移动终端上显示,提高小屏幕移动终端的用户体验度。而当移动终端的屏幕尺寸较大时,则可以提取出一些占据较大显示区域但内容丰富的页面信息,提高此种移动终端的用户体验度。
本发明实施例提供的方法,所有的操作都是对网页中待处理的源代码中的字符串进行操作,操作简便,无需生成DOM树即可完成从网页中提取页面信息,提取效率高。且提取页面信息的操作既可以在用户对应的移动终端上执行,也可以在浏览器对应的服务器上执行,在浏览器对应的服务器上执行本方案可以节省移动终端的流量消耗,以及节省移动终端的***资源占用率。另外,由于下载网页的源代码是从源代码的起始处开始下载的,且本发明方法也是从源代码的起始处开始处理的,所以可以边下载网页的源代码,边通过本发明实施例提供的方法对已下载的部分进行处理,如此可以进一步节省提取页面信息的时间,提高提取页面信息的效率。
本实施例的上述提取页面信息的方法,其执行主体可以为用户的移动终端,也可以为代理服务器。即用户通过移动终端浏览网页时,可以由用户的移动终端执行提取页面信息的操作,并在移动终端上显示提取的页面信息。此外,也可以由代理服务器执行提取页面信息的操作,然后代理服务器将提取的页面信息发送至用户的移动终端进行显示。
上述两种方式中,由移动终端执行提取页面信息的方式,可以简化***架构,但会增加移动终端的负担,耗费移动终端的资源。由代理服务器执行提取页面信息的方式,***架构较为复杂,但不会耗费移动终端的资源,有助于提高用户体验。具体采用何种方式,可根据具体需求而定。
在本发明实施例提供的方法中,根据预设的过滤特征字符串和预设的标签匹配模式,从源代码中提取目标信息;根据提取的目标信息生成指定格式的页面信息。由于根据预设的过滤特征字符串和预设的标签匹配模式来提取目标信息,过滤掉了不适合在小屏幕的移动终端上显示的页面信息,避免了通过DOM树提取待处理网页的所有内容,提高了提取页面信息的效率,且适用于不同类型移动终端提取及显示页面信息。
实施例2
参见图2A,本发明实施例提供了一种提取页面信息的方法。该方法的执行主体可以为用户的移动终端,也可以为代理服务器。在本发明实施例中先将网页中待处理的源代码划分为多个代码段,然后根据预设的过滤特征字符串和预设的标签匹配模式,分别从多个代码段中提取目标信息。该方法具体包括以下步骤:
步骤201:获取网页中待处理的源代码;
本实施例的执行主体如果为移动终端,则当用户通过移动终端浏览网页时,移动终端发送网页获取请求至相应的网站服务服务器,该网页获取请求携带网页的链接。网站服务器接收该网页获取请求,根据网页的链接将网页的源代码发送给用户的移动终端。移动终端根据接收到的网页源代码提取页面信息并进行显示。
本实施例的执行主体如果为代理服务器,则用户通过移动终端向代理服务器发送网页获取请求,代理服务器接收用户的网页获取请求后,将网页获取请求发送至相应的网站服务器。然后代理服务器接收网站服务器返回的网页源代码,对接收到的网页源代码进行提取页面信息的操作,并将提取的页面信息发送至移动终端进行显示。在本步骤中为了能够边获取网页的源代码边对源代码进行处理,以提高提取页面信息的效率,可以采用流式传输的方式来获取网页的源代码。
具体包括:接收用户的网页获取请求,将网页获取请求发送至相应的网站服务器;接收网站服务器以流式传输方式发送的网页的源代码,将当前接收到的流式传输的源代码作为网页的源代码。
流式传输方式为网站服务器实时连续地将网页的源代码发送给移动终端,移动终端可以边接收网页的源代码边对已接收到的部分源代码进行处理,不需要等到接收到网页的全部的源代码。通过这种流式传输方式来获取网页的源代码,实现了边获取源代码边从已获取的部分源代码中提取页面信息,提高了获取页面信息的效率。
通过本步骤的操作获取到网页的源代码之后,可以通过如下步骤202-204的操作从网页的源代码中提取目标信息。
步骤202:从网页的源代码中划分出多个代码段,分别获取划分出的每个代码段作为待处理的源代码;
由于网页的源代码一般包含很多行代码,若直接从网页的整个源代码中提取页面信息,仍然需要花费较长时间。因此为了缩短提取页面信息的时间,提高提取页面信息的效率,可以先将网页的源代码划分为多个代码段,然后同时对多个代码段进行处理,同时从多个代码段中提取页面信息以提高提取效率。
网页的源代码一般都是使用HTML语言编写的。在HTML语言编写的源代码中包含很多HTML标签,如分区标签<div>、列表标签<ul>和列表项目标签<li>等。技术人员可以预先设置HTML标签中的字符串为预设的分段特征字符串。例如,技术人员设置分区标签<div>包含的开标签字符串<divid=“nav”>为预设的分段特征字符串,则后续可以根据预设的分段特征字符串<divid=“nav”>来对网页的源代码进行分段,然后获取分段得到的每个代码段作为待处理的源代码。具体分段过程如下所示:
从网页的源代码的起始处开始,顺序查找源代码内与预先配置的分段特征字符串<divid=“nav”>相匹配的字符串,如果查找到匹配的字符串,则在匹配的代码处对源代码进行分段。
例如,如下所示的网页的源代码:
<divid=“nav”>
<ahref="http://tv.UC.com">视频</a>
</div>
<divid=“nav”>
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
</div>
则根据预设的分段特征字符串<divid=“nav”>从网页的源代码的起始处开始,顺序查找源代码内与预设的分段特征字符串<divid=“nav”>相匹配的字符串,将该网页的源代码划分为两个代码段,分别为<divid=“nav”><ahref="http://tv.UC.com">视频</a></div>和<divid=“nav”><imgsrc="/i/eg_tu.jpg"alt="flower"/></div>。
在本发明实施例中,可以通过预设的分段特征字符串来控制对源代码进行分段得到的代码段的大小,代码段越小,后续同时从多个代码段中提取页面信息的效率越高。由于源代码中不同HTML标签之间通常具有嵌套关系,可以根据HTML标签之间的嵌套关系来控制分段得到的代码段的大小。例如,分区标签<div>中可以包含列表标签<ul>,列表标签<ul>中又可以包含列表项目标签<li>等,所以在分区标签<div>、列表标签<ul>和列表项目标签<li>三者之间,当预设的分段特征字符串为分区标签<div>包含的字符串时划分得到的代码段最大,预设的分段特征字符串为列表标签<ul>包含的字符串时划分得到的代码段次大,预设的分段特征字符串为列表项目标签<li>包含的字符串时划分得到的代码段最小。
在HTML标签中有闭合类型的标签和自闭合类型的标签之分。对于闭合类型的标签,标签信息包括相互对应的开标签字符串、闭标签字符串及开标签字符串和闭标签字符串之间的全部字符串;对于自闭合类型的标签,其没有形成开标签和闭标签的组合方式,即其标签信息包括标签中的全部字符串。
例如,闭合类型的标签<divid=“nav”>天气预报</div>中,开标签字符串为<divid=“nav”>,对应的闭标签字符串位</div>。而自闭合类型的标签<imgsrc="/i/eg_tu.jpg"alt="flower"/>的标签信息为其包含的所有字符。
在本发明实施例中,除了根据预设的分段特征字符串来对网页的源代码进行分段以外,还可以根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,并分别获取划分出的每个代码段作为待处理的源代码。
上述预设的起始字符串和结束字符串可以分别为闭合类型的标签信息的开标签字符串和闭标签字符串。
例如,假设预设的起始字符串为<divid=“nav”>以及结束字符串为</div>,网页的源代码如下所示:
<divid=“nav”>
<ahref="http://tv.UC.com">视频</a>
</div>
<divid=“nav”>
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
</div>
则根据预设的起始字符串<divid=“nav”>和结束字符串</div>,可以将该网页的源代码划分为两个代码段,分别为<divid=“nav”><ahref="http://tv.UC.com">视频</a></div>和<divid=“nav”><imgsrc="/i/eg_tu.jpg"alt="flower"/></div>。
在本步骤中,对源代码进行分段得到多个代码段之后,对于得到的每个代码段,可以通过如下步骤203-205的操作来分别从每个代码段中提取目标信息。
步骤203:对分段得到的每个代码段分别进行词法分析,得到每个代码段的标签信息;
对于分段得到的每个代码段,从代码段的起始处开始,顺序遍历代码段包含的每个字符,通过词法分析将遍历的字符转换为代码段包含的标签信息。
步骤204:对于每个代码段,从代码段的每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
在本发明实施例中,可以根据移动终端的信息来设置预设的过滤特征字符串,移动终端的信息至少包括移动终端的型号、显示屏参数和硬件性能参数等信息中的一种或多种。具体设置过程可以为:获取用户的移动终端的信息,根据该移动终端的信息来设定预设的过滤特征字符串。
由于移动终端的屏幕尺寸大小不一,当用户的移动终端的屏幕尺寸很小时显示较少的页面信息就显得非常拥挤。因此根据用户的移动终端的型号、显示屏参数和硬件性能参数等信息来设置过滤特征字符串,根据该预设的过滤特征字符串可以过滤掉视频、图像或一些子类链接等不适合在小屏幕移动终端上显示的信息,提取更精炼的页面信息,更适合在小屏幕移动终端上显示页面信息,如此可以提高用户浏览页面信息的体验度。
本步骤中删除与预设的过滤特征字符串相匹配的标签信息的具体过程如下:
从代码段的起始处开始,获取代码段中的第一个标签信息。读取该标签信息的开标签字符串。将读取的开标签字符串与预设的过滤特征字符串进行比对,判断开标签字符串中是否包含预设的过滤特征字符串。若判断出开标签字符串中包含预设的过滤特征字符串,则确定出该标签信息为与预设的过滤特征字符串相匹配的标签信息,从该代码段中删除该标签信息。若判断出开标签字符串中不包含预设的过滤特征字符串,则确定出该标签信息不是与预设的过滤特征字符串相匹配的标签信息,保留该标签信息。
通过上述方式对代码段中的第一个标签信息处理完毕后,再从该代码段未处理的标签信息中获取第一个标签信息并进行上述处理,直到完成对该代码段中的每个标签信息都进行过滤处理。同样地,对于其他每个代码段,都可以同该代码段按照本步骤提供的方式分别从其他每个代码段中删除与预设的过滤特征字符串相匹配的标签信息。
通过本步骤可以将不适于小屏幕的移动终端的标签信息删除,保留适于小屏幕的移动终端的标签信息,从而保证最终提取的页面信息适合在小屏幕的移动终端上显示,能够更加合理的通过移动终端的屏幕来显示页面信息,并提高用户通过移动终端浏览网页的体验度。例如,假设预设的过滤特征字符串为子菜单“class=childmenu”,则会将代码段中的子菜单对应的标签信息都删除,只保留主菜单对应的标签信息。
在本发明实施例中,预设的过滤特征字符串可以由技术人员进行预先设置。也可以由用户进行设置,具体设置过程如下:在浏览器中设置各种需要过滤的字符串对应的选择按钮,用户通过点击需要过滤的字符串对应的选择按钮来设置该字符串为预设的过滤特征字符串,移动终端当检测到用户点击一选择按钮时,将该选择按钮对应的字符串设置为预设的过滤特征字符串。
步骤205:对于每个代码段,从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息;
在本发明实施例中,不同的标签信息具有不同的标签类型,标签类型包括超链接、文本、图片和视频等类型。标签信息的开标签字符串中包含表示该标签信息的标签类型的字符。技术人员可以根据标签类型来设置预设的标签匹配模式。预设的标签匹配模式可以为单个标签类型构成的单一匹配模式,也可以为多种标签类型组合构成的组成匹配模式。
另外,也可以根据移动终端的信息来设置预设的标签匹配模式,移动终端的信息至少包括移动终端的型号、显示屏参数和硬件性能参数等信息中的一种或多种。可以根据移动终端的信息来确定不适合用户的移动终端显示的信息,在设置标签匹配模式时可以避开这些信息对应的标签类型。
例如,假设标签类型包括超链接、文本和图片三种类型,由于HTML编程中超链接标签为<a>,文本标签为<text>,图片标签为<img>,所以超链接、文本和图片三种类型分别用a、text和img来表示,并通过alist、textlist和imglist分别表示一组超链接、一组文本和一组图片,则用于提取目标信息的预设的标签匹配模式可以为a、text、img、alist、textlist和imglist六种单一匹配模式,也可以为这六种单一匹配模式任意组合而成的组合匹配模式,如组合匹配模式可以为(textalist)和(textimgalist)等,(textalist)表示顺序提取一个文本标签信息和一组超链接标签信息,(textimgalist)表示顺序提取一个文本标签信息、一个图片标签信息和一组超链接标签信息。
当预设的标签匹配模式为单一匹配模式时,从未删除的标签信息中提取目标信息的过程具体如下:
从未删除的标签信息中,根据预设的单一匹配模式依次对未删除的标签信息进行模式匹配,提取符合该单一匹配模式的标签信息作为目标信息。
例如,假设单一匹配模式为alist,未删除的标签信息如下所示:
<ahref=”/”>直播首页</a>
<ahref=”http://bbs.cc/”>直播论坛</a>
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
则根据单一匹配模式为alist依次对上述三个未删除的标签信息进行模式匹配,且匹配出标签信息<ahref=”/”>直播首页</a>和<ahref=”http://bbs.cc/”>直播论坛</a>为超链接,符合单一匹配模式alist,匹配出标签信息<imgsrc="/i/eg_tu.jpg"alt="flower"/>不是超链接,不符合预设的单一匹配模式,所以提取标签信息<ahref=”/”>直播首页</a>和<ahref=”http://bbs.cc/”>直播论坛</a>作为目标信息。
当预设的标签匹配模式为组合匹配模式时,从未删除的标签信息中提取目标信息的过程具体如下:
从未删除的标签信息中,根据预设的组合匹配模式依次对未删除的标签信息进行模式匹配;提取顺序分布且其组合能够满足该组合匹配模式的多个标签信息作为目标信息。
例如,假设组合匹配模式为(alistimg),未删除的标签信息如下所示:
<ahref=”/”>直播首页</a>
<ahref=”http://bbs.cc/”>直播论坛</a>
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
<text>世界足球联赛</text>
则根据组合匹配模式(alistimg)依次对上述四个未删除的标签信息进行模式匹配,且匹配出标签信息<ahref=”/”>直播首页</a>和<ahref=”http://bbs.cc/”>直播论坛</a>为超链接,符合组合匹配模式(alistimg)的第一项,匹配出标签信息<imgsrc="/i/eg_tu.jpg"alt="flower"/>为图片,符合组合匹配模式(alistimg)的第二项,且匹配出<text>世界足球联赛</text>不符合组合匹配模式(alistimg)的任一项,所以提取标签信息<ahref=”/”>直播首页</a>和<ahref=”http://bbs.cc/”>直播论坛</a>,以及提取标签信息<imgsrc="/i/eg_tu.jpg"alt="flower"/>,将这三者组合为目标信息。
另外,在本发明实施例中,当预设的标签匹配模式中包含匹配一组标签时,可以是连续匹配,也可以是非连续匹配。连续匹配即对标签信息一个接一个地进行匹配,当匹配到不符合的标签时就终止匹配。非连接匹配表示不必一个接一个地进行匹配,而是对所有的标签信息都进行匹配,直至将所有的标签信息都匹配完为止。可以在预设的标签匹配模式中通过预设参数来标识进行连续匹配或非连续匹配。
例如,假设预设的标签匹配模式为(imgalistx),其中预设参数x标识连续匹配,则对于如下标签信息:
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
<ahref=”/”>直播首页</a>
<text>世界足球联赛</text>
<ahref=”http://bbs.cc/”>直播论坛</a>
其匹配结果为图片标签<imgsrc="/i/eg_tu.jpg"alt="flower"/>和超链接<ahref=”/”>直播首页</a>组合作为目标信息。
再如,假设预设的标签匹配模式为(imgalisty),其中预设参数y标识非连续匹配,则对于如下标签信息:
<imgsrc="/i/eg_tu.jpg"alt="flower"/>
<ahref=”/”>直播首页</a>
<text>世界足球联赛</text>
<ahref=”http://bbs.cc/”>直播论坛</a>
其匹配结果为图片标签<imgsrc="/i/eg_tu.jpg"alt="flower"/>、超链接<ahref=”/”>直播首页</a>和<ahref=”http://bbs.cc/”>直播论坛</a>组合作为目标信息。
在本步骤中,对于其他每个代码段,都同该代码段按照本步骤提供的方法分别从其他每个代码段中提取目标信息。
在本发明实施例中,通过上述步骤201-205的操作从网页的源代码中提取出目标信息之后,可以通过如下步骤206的操作来生成指定格式的页面信息。
步骤206:根据提取的目标信息生成指定格式的页面信息。
由于根据预设的过滤特征字符串和预设的标签匹配模式提取的目标信息并不是标准的程序代码,浏览器无法根据提取的目标信息直接加载并显示目标信息对应的页面信息。还需要根据提取的目标信息来生成指定格式的页面信息,具体生成过程包括:根据提取的目标信息,生成相应的页面显示代码,该页面显示代码用于使浏览器加载以显示目标信息对应的页面信息。
上述页面显示代码可以为HTML语言格式的程序代码,生成页面显示代码之后移动终端的浏览器可以根据生成的页面显示代码加载并显示目标信息对应的页面信息。
如图2B所示的网页,该网页中包含“直播首页”和“直播吧论坛”两个主菜单,主菜单“直播首页”包含“足球直播”和“篮球直播”两个子菜单,主菜单“直播吧论坛”包含“天下足球”和“篮球公园”两个子菜单,其中主菜单和子菜单都是超链接。在过滤特征字符串为子菜单“class=childmenu”以及预设的匹配模式为一组超链接“alist”时,通过本发明实时例提供的方法从如图2B所示的网页中提取页面信息,并通过移动终端来显示提取的页面信息如图2C所示。
本发明实施例提供的提取页面信息的方法,所有的操作都是对网页的源代码中的字符串进行操作,操作简便,无需生成DOM树即可完成从网页中提取页面信息,且提取页面信息的操作既可以在用户对应的移动终端上执行,也可以在浏览器对应的服务器上执行,在浏览器对应的服务器上执行本方案可以节省移动终端的流量消耗,以及节省移动终端的***资源占用率。另外,由于下载网页的源代码是从源代码的起始处开始下载的,且本发明实施例提供的提取页面信息的方法也是从源代码的起始处开始处理的,所以在本发明实施例中可以边下载网页的源代码,边通过本发明实施例提供的方法对已下载的部分进行处理,如此可以进一步节省提取页面信息的时间,并提高提取页面信息的效率。
在本发明实施例中,先对网页的源代码进行分段,然后根据预设的过滤特征字符串和预设的标签匹配模式,分别从多个代码段中同时提取目标信息;根据提取的目标信息生成指定格式的页面信息。由于先对源代码进行分段,然后根据预设的过滤特征字符串和预设的标签匹配模式分别从多个代码段中同时提取目标信息,节省了提取页面信息的时间,提高了提取页面信息的效率,且过滤掉了不适合在小屏幕的移动终端上显示的页面信息,避免了通过DOM树提取网页的所有内容,适用于不同类型移动终端提取及显示页面信息。
实施例3
参见图3A,本发明实施例提供了一种提取页面信息的装置,该装置用于执行上述提取页面信息的方法。该装置具体包括:
获取模块301,用于获取网页中待处理的源代码;
上述网页可以是用户通过移动终端上的浏览请求打开或下载的网页。如图3B所示,获取模块301可以通过如下功能单元来获取网页的源代码:发送单元3011,用于接收用户的网页获取请求,将所述网页获取请求发送至相应的网站服务器;接收单元3012,用于接收所述网站服务器以流式传输方式发送的网页的源代码,将当前接收到的流式传输的源代码作为待处理的源代码。
上述流式传输方式为网站服务器实时地连续地将网页的源代码发送给移动终端,移动终端可以边接收网页的源代码边对已接收到的部分进行处理,不需要等到接收到网页的全部的源代码。通过这种流式传输方式来获取网页的源代码,实现了边获取源代码边从已获取的部分源代码中提取页面信息,提高了获取页面信息的效率。
提取模块302,用于根据预设的过滤特征字符串和预设的标签匹配模式,从源代码中提取目标信息;
如图3B所示,上述提取模块302可以通过以下功能单元来从源代码中提取目标信息,具体包括:
词法分析单元3021,用于对源代码进行词法分析,得到源代码的每个标签信息;词法分析单元3021可以从源代码的起始处开始,顺序遍历源代码包含的每个字符,通过词法分析将遍历的字符转换为源代码包含的标签信息;
过滤单元3022,用于从每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
对于源代码中的每个标签信息,过滤单元3022可以通过如下功能子单元来删除与预设的过滤特征字符串相匹配的标签信息,具体包括,读取子单元,用于读取标签信息的开标签字符串;判断子单元,用于判断开标签字符串中是否包含预设的过滤特征字符串;删除子单元,用于若该开标签字符串中包含预设的过滤特征字符串,则确定该标签信息为与预设的过滤特征字符串相匹配的标签信息,从源代码中删除该标签信息;
提取单元3023,用于从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
当预设的标签匹配模式为单一匹配模式时,上述提取单元3023通过如下功能子单元来提取目标信息:
第一模式匹配子单元,用于根据预设的单一匹配模式依次对未删除的标签信息进行模式匹配;
第一提取子单元,用于提取符合该单一匹配模式的标签信息作为目标信息。
当预设的标签匹配模式为组合匹配模式时,上述提取单元3023通过如下功能子单元来提取目标信息:
第二模式匹配子单元,用于根据预设的组合匹配模式依次对未删除的标签信息进行模式匹配;
第二提取子单元,用于提取顺序分布且其组合能够满足该组合匹配模式的多个标签信息作为目标信息。
本领域技术人员能够理解,上述的第一模式匹配子单元和第二模式匹配子单元可以设计为同一个子单元,也可以设计为不同的子单元。同样的,上述的第一提取子单元和第二提取子单元可以设计为同一个子单元,也可以设计为不同的子单元,采用何种设计方式可由技术人员根据具体需求灵活选择。
过滤单元3022和匹配单元3023对源代码中的第一个标签信息处理完毕后,再从源代码未处理的标签信息中获取第一个标签信息作为第一标签信息并进行上述处理,直到完成对源代码中的每个标签信息都进行过滤处理并从源代码中提取出目标信息。
在本发明实施例中,获取模块301,还可以用于根据预设的分段特征字符串将网页的源代码划分为多个代码段,分别获取每个代码段作为待处理的源代码;相应地,提取模块302可以根据预设的过滤特征字符串和预设的标签匹配模式分别从多个代码段中提取目标信息。
除上述分段方式以外,获取模块301还可以根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,分别获取划分出的每个代码段作为待处理的源代码;相应地,提取模块302根据预设的过滤特征字符串和预设的标签匹配模式分别从划分出的每个代码段中提取目标信息。
在本发明实施例中,将源代码划分为多个代码段,从多个代码段中同时提取目标信息,缩短了提取页面信息的时间,提高了提取页面信息的效率。
通过上述获取模块301和提取模块302从网页的源代码中提取出目标信息之后,由于提取的目标信息并不是标准的程序代码,浏览器无法根据提取的目标信息直接加载并显示目标信息对应的页面信息。所以在本发明实施例中,还需要通过如下生成模块303来生成指定格式的页面信息。
生成模块303,用于根据提取的目标信息生成指定格式的页面信息。
上述生成模块303可以根据提取的目标信息,生成相应的页面显示代码,该页面显示代码用于使浏览器加载以显示目标信息对应的页面信息。
上述页面显示代码可以为HTML语音格式的程序代码。生成模块303生成页面显示代码之后移动终端的浏览器可以根据生成的页面显示代码加载并显示目标信息对应的页面信息。
另外,在本发明实施例中,参见图3B,在提取模块302提取目标信息之前,还可以通过设定模块304来获取用户的移动终端的信息,该移动终端的信息至少包括以下中的一种或多种:该移动终端的型号、显示屏参数和硬件性能参数,并根据该移动终端的信息,设定预设的过滤特征字符串和预设的标签匹配模式。
上述移动终端的信息还可以包括移动终端的分辨率等。由于不同型号的移动终端的屏幕尺寸大小不同,移动终端的屏幕尺寸很小时可能显示较少的页面信息就显得非常拥挤,因此根据移动终端的信息来设定预设的过滤特征字符串和预设的标签匹配模式,这样最终提取的目标信息更适合用户的移动终端,可以更合理的在用户的移动终端上显示页面信息,提高用户浏览页面的体验度。
在本发明实施例中,先对网页的源代码进行分段,然后根据预设的过滤特征字符串和预设的标签匹配模式,分别从多个代码段中同时提取目标信息;根据提取的目标信息生成指定格式的页面信息。由于先对源代码进行分段,然后根据预设的过滤特征字符串和预设的标签匹配模式分别从多个代码段中同时提取目标信息,节省了提取页面信息的时间,提高了提取页面信息的效率,且过滤掉了不适合在小屏幕的移动终端上显示的页面信息,避免了通过DOM树提取网页的所有内容,且适用于小屏幕移动终端提取及显示页面信息。
本发明实施例所提供的提取页面信息的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的***、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (20)

1.一种提取页面信息的方法,其特征在于,所述方法包括:
获取网页中待处理的源代码;
根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息;
根据提取的所述目标信息生成指定格式的页面信息。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
对所述源代码进行词法分析,得到所述源代码的每个标签信息;
从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息,包括:
读取所述标签信息的开标签字符串;
判断所述开标签字符串中是否包含预设的过滤特征字符串;
若所述开标签字符串中包含所述预设的过滤特征字符串,则确定所述标签信息为与所述预设的过滤特征字符串相匹配的标签信息,从所述源代码中删除所述标签信息。
4.根据权利要求2所述的方法,其特征在于,所述预设的标签匹配模式为单一匹配模式;所述从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息,包括:
根据所述单一匹配模式依次对所述未删除的标签信息进行模式匹配;
提取符合所述单一匹配模式的标签信息作为目标信息。
5.根据权利要求2所述的方法,其特征在于,所述预设的标签匹配模式为组合匹配模式;所述从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息,包括:
根据所述组合配模式依次对所述未删除的标签信息进行模式匹配;
提取顺序分布且其组合能够满足所述组合匹配模式的多个标签信息作为目标信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取网页中待处理的源代码,包括:
根据预设的分段特征字符串将网页的源代码划分为多个代码段,分别获取每个所述代码段作为待处理的源代码;
相应地,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
根据预设的过滤特征字符串和预设的标签匹配模式分别从所述多个代码段中提取目标信息。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述获取网页中待处理的源代码,包括:
根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,分别获取划分出的每个代码段作为待处理的源代码;
相应地,所述根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息,包括:
根据预设的过滤特征字符串和预设的标签匹配模式分别从所述划分出的每个代码段中提取目标信息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用户的移动终端的信息,所述移动终端的信息至少包括以下中的一种或多种:所述移动终端的型号、显示屏参数和硬件性能参数;
根据所述移动终端的信息,设定所述过滤特征字符串和所述标签匹配模式。
9.根据权利要求1所述的方法,其特征在于,所述获取网页中待处理的源代码,包括:
接收用户的网页获取请求,将所述网页获取请求发送至相应的网站服务器;
接收所述网站服务器以流式传输方式发送的网页源代码,将当前接收到的流式传输的源代码作为待处理的源代码。
10.根据权利要求1所述的方法,其特征在于,所述根据提取的所述目标信息生成指定格式的页面信息,包括:
根据提取的所述目标信息,生成相应的页面显示代码,所述页面显示代码用于使浏览器加载以显示所述目标信息对应的页面信息。
11.一种提取页面信息的装置,其特征在于,所述装置包括:
获取模块,用于获取网页中待处理的源代码;
提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式,从所述源代码中提取目标信息;
生成模块,用于根据提取的所述目标信息生成指定格式的页面信息。
12.根据权利要求11所述的装置,其特征在于,所述提取模块包括:
词法分析单元,用于对所述源代码进行词法分析,得到所述源代码的每个标签信息;
过滤单元,用于从所述每个标签信息中,删除与预设的过滤特征字符串相匹配的标签信息;
提取单元,用于从未删除的标签信息中,提取符合预设的标签匹配模式的标签信息作为目标信息。
13.根据权利要求12所述的装置,其特征在于,所述过滤单元包括:
读取子单元,用于读取所述标签信息的开标签字符串;
判断子单元,用于判断所述开标签字符串中是否包含预设的过滤特征字符串;
删除子单元,用于若所述开标签字符串中包含所述预设的过滤特征字符串,则确定所述标签信息为与所述预设的过滤特征字符串相匹配的标签信息,从所述源代码中删除所述标签信息。
14.根据权利要求12所述的装置,其特征在于,所述预设的标签匹配模式为单一匹配模式;所述提取单元包括:
第一模式匹配子单元,用于根据所述单一匹配模式依次对所述未删除的标签信息进行模式匹配;
第一提取子单元,用于提取符合所述单一匹配模式的标签信息作为目标信息。
15.根据权利要求12所述的装置,其特征在于,所述预设的标签匹配模式为组合匹配模式;所述提取单元包括:
第二模式匹配子单元,用于根据所述组合匹配模式依次对所述未删除的标签信息进行模式匹配;
第二提取子单元,用于提取顺序分布且其组合能够满足所述组合匹配模式的多个标签信息作为目标信息。
16.根据权利要求11-15任一项所述的装置,其特征在于,所述获取模块,用于根据预设的分段特征字符串将网页的源代码划分为多个代码段,分别获取每个所述代码段作为待处理的源代码;
相应地,所述提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式分别从所述多个代码段中提取目标信息。
17.根据权利要求11-15任一项所述的装置,其特征在于,所述获取模块,用于根据预设的起始字符串和结束字符串,从网页的源代码中划分出至少一个代码段,分别获取划分出的每个代码段作为待处理的源代码;
相应地,所述提取模块,用于根据预设的过滤特征字符串和预设的标签匹配模式分别从所述划分出的每个代码段中提取目标信息。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括:
设定模块,用于获取用户的移动终端的信息,所述移动终端的信息至少包括以下中的一种或多种:所述移动终端的型号、显示屏参数和硬件性能参数;根据所述移动终端的信息,设定所述过滤特征字符串和所述标签匹配模式。
19.根据权利要求11所述的装置,其特征在于,所述获取模块包括:
发送单元,用于接收用户的网页获取请求,将所述网页获取请求发送至相应的网站服务器;
接收单元,用于接收所述网站服务器以流式传输方式发送的网页源代码,将当前接收到的流式传输的源代码作为待处理的源代码。
20.根据权利要求11所述的装置,其特征在于,所述生成模块,用于根据提取的所述目标信息,生成相应的页面显示代码,所述页面显示代码用于使浏览器加载以显示所述目标信息对应的页面信息。
CN201510335008.8A 2015-06-15 2015-06-15 一种提取页面信息的方法及装置 Pending CN105589913A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510335008.8A CN105589913A (zh) 2015-06-15 2015-06-15 一种提取页面信息的方法及装置
US15/183,069 US10515142B2 (en) 2015-06-15 2016-06-15 Method and apparatus for extracting webpage information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510335008.8A CN105589913A (zh) 2015-06-15 2015-06-15 一种提取页面信息的方法及装置

Publications (1)

Publication Number Publication Date
CN105589913A true CN105589913A (zh) 2016-05-18

Family

ID=55929495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510335008.8A Pending CN105589913A (zh) 2015-06-15 2015-06-15 一种提取页面信息的方法及装置

Country Status (2)

Country Link
US (1) US10515142B2 (zh)
CN (1) CN105589913A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784056A (zh) * 2017-02-20 2018-03-09 平安科技(深圳)有限公司 页面数据查找方法及装置
CN108629043A (zh) * 2018-05-14 2018-10-09 平安科技(深圳)有限公司 网页目标信息的提取方法、装置及存储介质
CN110020283A (zh) * 2017-09-27 2019-07-16 北京国双科技有限公司 一种文本显示方法及装置
CN110059688A (zh) * 2019-03-19 2019-07-26 平安科技(深圳)有限公司 图片信息识别方法、装置、计算机设备和存储介质
CN111274515A (zh) * 2020-03-24 2020-06-12 湘潭大学 基于html标签匹配的网页数据提取方法
CN111680247A (zh) * 2020-04-28 2020-09-18 平安国际智慧城市科技股份有限公司 网页字符串的本地调用方法、装置、设备及存储介质
CN112230989A (zh) * 2020-12-14 2021-01-15 北京智慧星光信息技术有限公司 网页频道导航栏提取方法、***、电子设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002292B2 (en) * 2015-09-30 2018-06-19 Microsoft Technology Licensing, Llc Organizational logo enrichment
CN110232019A (zh) * 2019-05-20 2019-09-13 平安普惠企业管理有限公司 页面测试方法及相关产品
CN110490538B (zh) * 2019-07-04 2023-08-22 平安科技(深圳)有限公司 信息链生成方法、装置、计算机设备和存储介质
US11205041B2 (en) * 2019-08-15 2021-12-21 Anil Kumar Web element rediscovery system and method
CN112579937A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种字符的高亮显示方法及装置
CN114070576B (zh) * 2020-08-07 2024-03-08 腾讯科技(深圳)有限公司 内容显示方法、内容生成方法、装置、设备及存储介质
CN116541120B (zh) * 2023-07-05 2023-11-14 北京华顺信安信息技术有限公司 一种网页渲染方式的识别方法、***及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取***及其方法
CN102955827A (zh) * 2011-08-30 2013-03-06 飞拓无限信息技术(北京)有限公司 一种无线应用协议网页的创建方法和编辑器
CN103412928A (zh) * 2013-08-16 2013-11-27 北京乐动卓越科技有限公司 一种在移动终端实现浏览器页面智能响应式布局的方法与装置
CN103440315A (zh) * 2013-08-27 2013-12-11 北京工业大学 一种基于主题的Web页面清洗方法
CN103544283A (zh) * 2013-10-24 2014-01-29 青岛英网资讯股份有限公司 网站信息合并去重方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122657A (en) * 1997-02-04 2000-09-19 Networks Associates, Inc. Internet computer system with methods for dynamic filtering of hypertext tags and content
US7054901B2 (en) * 2001-05-31 2006-05-30 Juniper Networks, Inc. Network management interface with selective rendering of output
US8468445B2 (en) * 2005-03-30 2013-06-18 The Trustees Of Columbia University In The City Of New York Systems and methods for content extraction
TW200836075A (en) * 2007-02-16 2008-09-01 Esobi Inc Method of converting hypertext markup language web page into pure text and system thereof
US9098722B2 (en) * 2013-03-15 2015-08-04 Prevoty, Inc. Systems and methods for parsing user-generated content to prevent attacks
US9542363B2 (en) * 2014-01-31 2017-01-10 Konica Minolta Laboratory U.S.A., Inc. Processing of page-image based document to generate a re-targeted document for different display devices which support different types of user input methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955827A (zh) * 2011-08-30 2013-03-06 飞拓无限信息技术(北京)有限公司 一种无线应用协议网页的创建方法和编辑器
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取***及其方法
CN103412928A (zh) * 2013-08-16 2013-11-27 北京乐动卓越科技有限公司 一种在移动终端实现浏览器页面智能响应式布局的方法与装置
CN103440315A (zh) * 2013-08-27 2013-12-11 北京工业大学 一种基于主题的Web页面清洗方法
CN103544283A (zh) * 2013-10-24 2014-01-29 青岛英网资讯股份有限公司 网站信息合并去重方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784056A (zh) * 2017-02-20 2018-03-09 平安科技(深圳)有限公司 页面数据查找方法及装置
CN107784056B (zh) * 2017-02-20 2020-03-06 平安科技(深圳)有限公司 页面数据查找方法及装置
CN110020283A (zh) * 2017-09-27 2019-07-16 北京国双科技有限公司 一种文本显示方法及装置
CN108629043A (zh) * 2018-05-14 2018-10-09 平安科技(深圳)有限公司 网页目标信息的提取方法、装置及存储介质
CN110059688A (zh) * 2019-03-19 2019-07-26 平安科技(深圳)有限公司 图片信息识别方法、装置、计算机设备和存储介质
CN110059688B (zh) * 2019-03-19 2024-05-28 平安科技(深圳)有限公司 图片信息识别方法、装置、计算机设备和存储介质
CN111274515A (zh) * 2020-03-24 2020-06-12 湘潭大学 基于html标签匹配的网页数据提取方法
CN111680247A (zh) * 2020-04-28 2020-09-18 平安国际智慧城市科技股份有限公司 网页字符串的本地调用方法、装置、设备及存储介质
CN111680247B (zh) * 2020-04-28 2024-04-05 深圳赛安特技术服务有限公司 网页字符串的本地调用方法、装置、设备及存储介质
CN112230989A (zh) * 2020-12-14 2021-01-15 北京智慧星光信息技术有限公司 网页频道导航栏提取方法、***、电子设备及存储介质

Also Published As

Publication number Publication date
US10515142B2 (en) 2019-12-24
US20160364373A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
CN105589913A (zh) 一种提取页面信息的方法及装置
CN101882162B (zh) 一种网络信息推送方法及***
CN105786930B (zh) 基于触摸交互的搜索方法及装置
JP2022534933A (ja) ウェブ構築システムサービスにユーザフィードバックを統合するシステム及び方法
CN107526776A (zh) 呈现搜索结果的计算机化方法及***
US20020023112A1 (en) Graphical web page editor
CN111343467B (zh) 一种直播数据处理方法、装置、电子设备及存储介质
CN106202101B (zh) 广告识别方法及装置
CN110245069A (zh) 页面版本的测试方法和装置、页面的展示方法和装置
CN107832041B (zh) 专题页面制作方法、装置、设备及可读存储介质
CN102880664A (zh) 一种页面编辑方法、装置及***
CN104765746B (zh) 用于移动通讯终端浏览器的数据处理方法和装置
CN104077273A (zh) 一种对网页内容抽取的方法及装置
CN108021598A (zh) 页面抽取模板匹配方法、装置及服务器
CN109033282A (zh) 一种基于抽取模板的网页正文抽取方法及装置
CN108574669A (zh) 用户行为树构建方法及装置
CN109635211A (zh) 推广页面的实现方法及服务器
CN109582884A (zh) 保险产品分享链接生成方法、装置、介质和计算机设备
CN110008426A (zh) 附图页面的展示方法和装置、文本页面的展示方法和装置
CN107729791A (zh) 信息处理方法及电子设备
CN105117434A (zh) 一种网页分类方法和***
CN106371706A (zh) 应用快捷方式位置选择的方法及装置
CN105868240A (zh) 一种自适应显示网页的方法及装置
CN106897289A (zh) 信息搜索的优化方法及装置
CN109558123A (zh) 网页转化电子书的方法、电子设备、存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160518

RJ01 Rejection of invention patent application after publication