CN101640663A - 超文本数据访问接口解析规则 - Google Patents
超文本数据访问接口解析规则 Download PDFInfo
- Publication number
- CN101640663A CN101640663A CN200810022836A CN200810022836A CN101640663A CN 101640663 A CN101640663 A CN 101640663A CN 200810022836 A CN200810022836 A CN 200810022836A CN 200810022836 A CN200810022836 A CN 200810022836A CN 101640663 A CN101640663 A CN 101640663A
- Authority
- CN
- China
- Prior art keywords
- data
- interval
- code
- webpage
- hypertext
- 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
Links
Images
Abstract
本发明主要在于提供一个通用、便捷的读取网页超文本数据方法,首先依据http协议获取到网页源代码(即超文本数据),然后依据数据范围设置代码区间,从源代码中分离出区间代码。再根据业务规则所需读取的数据制订语法表达式,最后把区间代码和语法表达式提交给解析系统,解析完毕返回数据。当业务规则或者网页数据发生变化时,只需要调整语法表达式就可以了,而不需要对原系统进行修改和编译。
Description
技术领域
本发明一般的涉及通信领域。更具体的,本发明涉及用于第三方应用系统读取网页超文本数据。
背景技术
毋庸置疑,网络的迅速发展已经影响到人们的日常生活。现在更多的人习惯从网站上阅读每日的新闻时事,而不是通过广播或则报刊等传统媒体。还可通过网站查找所需要的专业资料等。所有这一切都成为了当今的时尚。
这一切网络的发展首要归功于超文本(hypertext)的发展,每一张网页都是以超文本的形式描述的。随着提供网页服务的网站快速发展,越来越多的网页资料大大丰富了网络,甚至出现了专门提供搜索网页的网站。
一般情况下,用户通过浏览器来访问网页。但是,随着信息化的发展和数据交互的需求,第三方应用系统也需要访问网页,并需将其中部分数据摘取下来另做它用。
目前,第三方应用程序一般通过以下方法来读取网页超文本数据:
1、在原有网页的基础上开发WEB SERVICE服务,应用系统通过WEB SERVICE接口来读取数据。其缺点在于需要另行开发WEB SERVICE服务。
2、根据需求开发专门针对某网页超文本数据的解析接口。其缺点在于不具有通用性,只能用于当前指定格式的超文本数据。
本发明主要解决以上问题,本发明超文本数据访问接口解析规则让第三方应用程序以通用性的方法读取网页数据,而且不需要对原有网页做修改和增加开发WEB SERVICE,这将极大的方便于第三方系统访问超文本数据。
发明内容
本发明主要在于提供一个通用、便捷的读取网页超文本数据方法,首先依据http协议获取到网页源代码(即超文本数据),然后依据数据范围设置代码区间,从源代码中分离出区间代码。再根据业务规则所需读取的数据制订语法表达式,最后把区间代码和语法表达式提交给解析系统,解析完毕返回数据。当业务规则或者网页数据发生变化时,只需要调整语法表达式就可以了,而不需要对原系统进行修改和编译。
语法表达式就是用一个“字符串”,其用来描述一个特征,然后去验证一个数据流是否包含符合这个特征的字符串,并将其中括号部分数据作为返回值取出来。比如表达式“a(b+)”描述的特征是“一个’a’和任意个’b’”,那么数据流’xyabc’,’xyabbc’,’xyabbbbbbbbbbc’中都包含了符合这个特征的字符串,并且依次取出的返回值是b,bb,bbbbbbbbbb。以下文字将这样的验证过程简称为匹配,验证成功则为匹配成功,验证失败则为匹配失败。
语法表达式的定义规则如下:
1、字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是″普通字符″。表达式中的普通字符,在验证一个数据流的时候,匹配与之相同的一个字符。
2、一些不便书写的字符,采用在前面加″\″的方法,这些转义字符的匹配方法与″普通字符″是类似的。
表达式 | 可匹配 | 表达式 | 可匹配 |
\r,\n | 代表回车和换行符 | \^ | 匹配^符号本身 |
\t | 制表符 | \$ | 匹配$符号本身 |
\\ | 代表″\″本身 | \. | 匹配小数点(.)本身 |
3、语法表达式中的一些表示方法,可以匹配″多种字符″其中的任意一个字符。比如,表达式″\d″可以匹配任意一个数字。虽然可以匹配其中任意字符,但是只能是一个,不是多个。
表达式 | 可匹配 |
\d | 任意一个数字,0~9中的任意一个 |
\w | 任意一个字母或数字或下划线,也就是A~Z,a~z,0~9,_中任意一个 |
\s | 包括空格、制表符、换页符等空白字符的其中任意一个 |
. | 小数点可以匹配除了换行符(\n)以外的任意一个字符 |
4、使用方括号[]包含一系列字符,能够匹配其中任意一个字符。用[^]包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。
表达式 | 可匹配 |
[ab5@] | 匹配″a″或″b″或″5″或″@″ |
[^abc] | 匹配″a″,″b″,″c″之外的任意一个字符 |
[f-k] | 匹配″f″~″k″之间的任意一个字母 |
[^A-FO-3] | 匹配″A″~″F″,″0″~″3″之外的任意一个字符 |
5、在表达式加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。使用方法是:″次数修饰″放在″被修饰的表达式″后边。比如:″[bcd][bcd]″可以写成″[bcd]{2}″。
表达式 | 作用 |
{n} | 表达式重复n次,比如:″\w{2}″相当于″\w\w″;″a{5}″相当于″aaaaa″ |
{m,n} | 表达式至少重复m次,最多重复n次,比如:″ba{1,3}″可以匹配″ba″或″baa″或″baaa″ |
{m,} | 表达式至少重复m次,比如:″\w\d{2,}″可以匹配″a12″,″_456″,″M12344″... |
? | 匹配表达式0次或者1次,相当于{0,1},比如:″a[cd]?″可以匹配″a″,″ac″,″ad″ |
+ | 表达式至少出现1次,相当于{1,},比如:″a+b″可以匹配″ab″,″aab″,″aaab″... |
* | 表达式不出现或出现任意次,相当于{0,},比如:″\^*b″可以匹配″b″,″^^^b″... |
代码区间包括开始位置和结束位置,将源代码依据代码区间的设置从中分离出区间代码,主要目的在于缩小数据范围,提高匹配的准确性。代码区间的开始位置和结束位置同时也是语法表达式。
附图说明
图1是本发明的系统流程图
首先从节点A01开始,依据HTTP协议请求指定的网页。
进入A02点,获取网页服务器返回的超文本数据。
进入A03点,对源代码设置区间。
进入A04点,获取到目标代码。
进入A05点,制定语法表达式并进行提交。
进入A06点,获取到反馈结果。
图2是一个主要流程的概要
从获取到超文本数据开始,然后设置区间和制定语法表达式,将目标代码和语法表达
式提交给语法解析器,解析完毕返回数据。
具体实施方式
以下举例来详细说明本发明的实施方式。
设想某网站提供的网页上有A、B、C三个产品的价格,其数据以表格的形式排布通过网页进行浏览,通过浏览器输入地址http://www.xyz.com/list.htm后页面以如下格式显示三个产品的价格信息。
Product a | 1200 |
Product b | 3500 |
Product c | 3200 |
现在某ERP系统需要读取并保存该产品价格信息,依据下面的步骤则可以快速和方便的读取到数据,并且能够适应网页的变动。
首先依据HTTP协议发出GET指令后获取到该网页的超文本数据,源代码如下:
.Source=″<html>
<title>product list</title>
<body>
<table>
<tr><td>product a</td><td>1200</td></tr>
<tr><td>product b</td><td>3500</td></tr>
<tr><td>product c</td><td>3200</td></tr>
</table>
</body>
</html>″
其次,指定区间开始位置和结束位置,.Begin=″<table>″.End=″</table>″,在.Source中找到匹配.Begin的位置,继续查找匹配.End的位置,从.Source中将此区间的内容取出作为目标代码
.Target=″<tr><td>product a</td><td>1200</td></tr>
<tr><td>product b</td><td>3500</td></tr>
<tr><td>product c</td><td>3200</td></tr>″
接着,制定语法表达式为:.Lex=″<tr><td>(.+?)</td><td>(.+?)</td></tr>″语法分析器根据语法表达式.Lex到目标代码.Traget中进行循环匹配,直到匹配结束,一共成功匹配3次,返回的数据依次如下:
1、product a-1200
2、product b-3500
3、product c-3200
依据上述步骤即可实现快速和方便的读取到所需要的数据,当目标网页发生变化的时候,只需要调整语法表达式即可。
设想网页被修改了,产品和价格中间多了一列型号,获取到的源代码就发生了变化,设想其中表格部分变化如下:
<table>
<tr><td>product a</td><td>ypc</td><td>1200</td></tr>
<tr><td>product b</td><td>xpc</td><td>3500</td></tr>
<tr><td>product c</td><td>tpc</td><td>3200</td></tr>
</table>
只需要将.Lex语法表达式更改为:
.Lex=<tr><td>(.+?)</td><td>.+?</td><td>(.+?)</td></tr>
不需要对原系统做任何修改,依据新的语法表达式即可以匹配出新格式下的数据来。
Claims (3)
1、超文本数据访问接口解析规则,包括:对超文本数据设置代码区间;根据业务规则所需读取的数据制订语法表达式;将区间数据和语法表达式进行解析,获取数据返回值;
2、如权利要求1所述的超文本数据访问接口解析规则,其中,超文本数据设置代码区间包括区间开始和区间结束,区间结束属于可选择项。代码区间其本身也是语法表达式。
3、如权利要求1所述的超文本数据访问接口解析规则,其中,根据业务规则所需读取的数据制订语法表达式,包括完整的语法表达式规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810022836A CN101640663A (zh) | 2008-07-30 | 2008-07-30 | 超文本数据访问接口解析规则 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810022836A CN101640663A (zh) | 2008-07-30 | 2008-07-30 | 超文本数据访问接口解析规则 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101640663A true CN101640663A (zh) | 2010-02-03 |
Family
ID=41615457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810022836A Pending CN101640663A (zh) | 2008-07-30 | 2008-07-30 | 超文本数据访问接口解析规则 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101640663A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598227A (zh) * | 2014-12-31 | 2015-05-06 | 国家电网公司 | 一种修改系统展示页面内容的方法 |
CN105426500A (zh) * | 2015-11-25 | 2016-03-23 | 北京奇虎科技有限公司 | 网页脚本动态生成的链接的提取方法及装置 |
-
2008
- 2008-07-30 CN CN200810022836A patent/CN101640663A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598227A (zh) * | 2014-12-31 | 2015-05-06 | 国家电网公司 | 一种修改系统展示页面内容的方法 |
CN105426500A (zh) * | 2015-11-25 | 2016-03-23 | 北京奇虎科技有限公司 | 网页脚本动态生成的链接的提取方法及装置 |
CN105426500B (zh) * | 2015-11-25 | 2019-06-25 | 北京奇虎科技有限公司 | 网页脚本动态生成的链接的提取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190102390A1 (en) | Semantic search engine and visualization platform | |
US20170236205A1 (en) | Distribution of Market Data | |
JP5096619B2 (ja) | ホームページ統合サービス提供システム及び方法 | |
CN104951508B (zh) | 时间信息识别方法和装置 | |
CN103226393A (zh) | 一种输入方法和设备 | |
CN102549572A (zh) | 用于提供高级搜索结果页面内容的系统和方法 | |
AU2009251647A1 (en) | Ratings using machine-readable representation | |
CN102314494B (zh) | 一种用于处理网页内容的方法和设备 | |
CN105426508A (zh) | 网页生成方法和装置 | |
US20110060665A1 (en) | Method and apparatus for associating menu information | |
US20180060539A1 (en) | System and method of standard-compliant electronic case report form design and clinical data set generation | |
Gek et al. | The problem of SEO promotion for the organization’s web representation | |
CN103425705B (zh) | 一种否定关键词的获取方法及装置和搜索方法及装置 | |
CN101640663A (zh) | 超文本数据访问接口解析规则 | |
CN101017482A (zh) | 网页搜寻结果的表列最佳化方法及使用该方法的系统 | |
KR101273880B1 (ko) | 네트워크 광고 시스템 및 이를 이용한 광고 방법 | |
CN104915395B (zh) | 一种用于查询主体的关联信息的方法和装置 | |
TW201820226A (zh) | 互動式推薦系統與方法 | |
JP2008015611A (ja) | 情報検索支援プログラム、情報検索支援装置 | |
KR101888625B1 (ko) | 검색광고 정보 제공 시스템, 이를 갖는 검색광고 서비스 통합 시스템 및 이를 이용한 검색광고 정보 제공 방법 | |
WO2016001287A1 (en) | Automated generation of web site entry pages | |
KR101799501B1 (ko) | 키워드 광고 자동화 장치 및 대량 키워드 광고 자동화 방법 | |
US20030023635A1 (en) | System and method for generating and distributing a publication | |
KR20130100034A (ko) | 홈페이지 입력창 제공 시스템 및 그 서비스 방법 | |
KR20090116013A (ko) | 키워드 트리 제공 방법 및 시스템과 이를 위한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Nanjing Zhongpa Software Co., Ltd. Bai Jigan Document name: Notification of before Expiration of Request of Examination as to Substance |
|
DD01 | Delivery of document by public notice |
Addressee: Bai Jigan Document name: Notification that Application Deemed to be Withdrawn |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100203 |