由动态网页上获取链接信息的方法及其服务器转让专利

申请号 : CN201010255706.4

文献号 : CN101916283B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙宁军

申请人 : 奇诺光瑞电子(深圳)有限公司

摘要 :

本发明涉及一种由动态网页上获取链接信息的方法,包括如下步骤:所述服务器按照设定自动访问所述动态网页,取得所述动态网页上的参数;使用所述取得参数,生成模拟HTTP请求并发送到所述动态网页;取出所述动态网页回应所述请求中的链接信息。本发明还涉及一种由动态网页上获取链接信息的服务器。实施本发明的由动态网页上获取链接信息的方法及其服务器,具有以下有益效果:与服务器连接的终端访问较为方便、不会占用太多的网络资源。

权利要求 :

1.一种由动态网页上获取链接信息的方法,包括与动态网页连接的服务 器,其特征在于,还包括如下步骤:A)所述服务器按照设定自动访问所述动态网页,取得所述动态网页上的参数;

B)使用所述取得参数,生成模拟HTTP请求并发送到所述动态网页;

C)取出所述动态网页回应所述请求中的链接信息;

所述步骤A)进一步包括如下步骤:

A1)所述服务器按照设定时间自动连接所述动态网页;

A2)所述服务器取出所述动态网页上当前参数;

所述步骤A2)中通过分析所述动态网页的HTML文件脚本中各检索参数项来获得所述参数;

所述步骤B)进一步包括如下步骤:

B1)对所述取得的参数进行预处理,得到检索表达式;

B2)对照所述动态网页的HTML脚本或引用的文件脚本,清理所述检索参数项与所述检索表达式的转换关系,修正所述检索表达式;

B3)依据所述检索表达式生成HTTP请求,并发送到所述动态网页。

2.根据权利要求1所述的方法,其特征在于,还包括如下步骤:D)转换所述取得的链接信息的数据格式为适于在动态信息浏览界面中显示的格式并存储。

3.一种由动态网页上获取链接信息的服务器,其特征在于,所述服务器包括:网页参数取得单元:用于按照设定自动访问所述动态网页,取得所述动态网页上的参数;

请求形成单元:用于依据所述取得参数,生成模拟HTTP请求并发送到所述动态网页;

链接信息取得单元:用于由所述动态网页对于所述请求的回应中取出其上内容的链接信息;

所述网页参数取得单元进一步包括:

自动连接子单元:用于按照设定的时间使得所述服务器与所述动态网页自动连接;

当前参数取得子单元:用于取得所述动态网页页面上的参数;

所述当前参数取得子单元包括将所述动态网页的HTML文件脚本取出,并取得所述脚本中检索参数的检索参数项分析模块;

所述请求形成单元进一步包括:

预处理子单元:用于对所述HTML文件脚本中的检索参数项进行预处理,形成检索表达式;

检索表达式修正子单元:用于结合所述动态网页的HTML脚本或引用的文件脚本,对所述检索表达式进行修正;

HTTP请求形成子单元:用于使用所述修正后的检索表达式,形成发送到所述动态网页的HTTP请求。

4.根据权利要求3所述的服务器,其特征在于,所述服务器还包括将所述得到的动态网页上的链接信息转换为适于在动态浏览界面上显示的数据格式的链接信息格式转换单元。

说明书 :

由动态网页上获取链接信息的方法及其服务器

【技术领域】

[0001] 本发明涉及网络数据取得领域,更具体地说,涉及一种由动态网页上获取链接信息的方法及其服务器。【背景技术】
[0002] 随着网络技术的发展,互联网在人们的生活中越来越重要,逐渐成为人们获得信息的渠道之一。其趋势是网络上的共享资源越来越多。但是,处于某些目的,例如统计流量或统计客户来源等等,现在很多资源共享网站提供的页面往往并不是可以通过一个简单的URL就可以访问的。现在越来越多网站对视频资源采取了保护措施,比如通过加密视频源代码及转化视频格式,加密字段的有效期和点击的时间必须在同一个时段内,这样将真实视频链接地址隐藏起来,只有经过多重身份认证及授权后方可使用提供服务的页面。否则将无法正常访问下载。这使得即使是具有合法权限的用户在访问这些链接时也非常不方便,在客户不太熟练的情况下,可能会带来网络资源被大量占用的问题。【发明内容】
[0003] 本发明要解决的技术问题在于,针对现有技术的上述使用不方便、网络资源可能被大量占用的缺陷,提供一种使用方便、不会占用太多网络资源的由动态网页上获取链接信息的方法及其服务器。
[0004] 本发明解决其技术问题所采用的技术方案是:构造一种由动态网页上获取链接信息的方法,包括与动态网页连接的服务器,还包括如下步骤:
[0005] A)所述服务器按照设定自动访问所述动态网页,取得所述动态网页上的参数;
[0006] B)使用所述取得参数,生成模拟HTTP请求并发送到所述动态网页;
[0007] C)取出所述动态网页回应所述请求中的链接信息。
[0008] 在本发明所述的方法中,所述步骤A)进一步包括如下步骤:
[0009] A1)所述服务器按照设定时间自动连接所述动态网页;
[0010] A2)所述服务器取出所述动态网页上当前参数。
[0011] 在本发明所述的方法中,所述步骤A2)中通过分析所述动态网页的HTML文件脚本中各检索参数项来获得所述参数。
[0012] 在本发明所述的方法中,所述步骤B)进一步包括如下步骤:
[0013] B1)对所述取得的参数进行预处理,得到检索表达式;
[0014] B2)对照所述动态网页的HTML脚本或引用的文件脚本,清理所述检索参数项与所述检索表达式的转换关系,修正所述检索表达式;
[0015] B3)依据所述检索表达式生成HTTP请求,并发送到所述动态网页。
[0016] 在本发明所述的方法中,还包括如下步骤:
[0017] D)转换所述取得的链接信息的数据格式为适于在动态信息浏览界面中显示的格式并存储。
[0018] 本发明还揭示了一种由动态网页上获取链接信息的服务器,所述服务器包括:
[0019] 网页参数取得单元:用于按照设定自动访问所述动态网页,取得所述动态网页上的参数;
[0020] 请求形成单元:用于依据所述取得参数,生成模拟HTTP请求并发送到所述动态网页;
[0021] 链接信息取得单元:用于由所述动态网页对于所述请求的回应中取出其上内容的链接信息。
[0022] 在本发明所述的服务器中,所述网页参数取得单元进一步包括:
[0023] 自动连接子单元:用于按照设定的时间使得所述服务器与所述动态网页自动连接;
[0024] 当前参数取得子单元:用于取得所述动态网页页面上的参数。
[0025] 在本发明所述的服务器中,所述当前参数取得子单元包括将所述动态网页的HTML文件脚本取出,并取得所述脚本中检索参数的检索参数项分析模块。
[0026] 在本发明所述的服务器中,所述请求形成单元进一步包括:
[0027] 预处理子单元:用于对所述HTML文件脚本中的检索参数项进行预处理,形成检索表达式;
[0028] 检索表达式修正子单元:用于结合所述动态网页的HTML脚本或引用的文件脚本,对所述检索表达式进行修正;
[0029] HTTP请求形成子单元:用于使用所述修正后的检索表达式,形成发送到所述动态网页的HTTP请求。
[0030] 在本发明所述的服务器中,所述服务器还包括将所述得到的动态网页上的链接信息转换为适于在动态浏览界面上显示的数据格式的链接信息格式转换单元。
[0031] 实施本发明的由动态网页上获取链接信息的方法及其服务器,具有以下有益效果:由于自动与动态网页连接并取得其上的检索参数,形成请求发送到该网页,并从该网页对上述请求的回复中取出其中的链接信息,所述与上述服务器连接的终端就可以直接由所述服务器得到动态网页上的链接,不用访问该网页并通过多次验证,所以其使得终端的访问较为方便、不会占用太多的网络资源。【附图说明】
[0032] 图1是本发明由动态网页上获取链接信息的方法及其服务器实施例中方法流程图;
[0033] 图2是所述实施例中服务器的结构示意图;
[0034] 图3是所述实施例中请求形成单元结构示意图。【具体实施方式】
[0035] 下面将结合附图对本发明实施例作进一步说明。
[0036] 如图1所示,在本发明由动态网页上获取链接信息的方法及其服务器实施例中,其方法包括如下步骤:
[0037] 步骤S11服务器按照设定时间自动连接动态网页:在本步骤中,服务器通过其上设置的访问组件定时地、自动地与上述动态网页建立连接;在本步骤中,上述访问组件与上述动态网页连接的速度快,并且支持多种网络传输协议,例如FTP、TFTP、HTTP、HTTPS和LDAP协议等等。这样,极大地提高了该服务器与上述动态网页之间建立会话的速度和协议范围。同时由于其为自动连接,到设定时间自行动作,不需要人工干预。
[0038] 步骤S12取出该动态网页上的当前参数:在本步骤中,当上述访问组件与动态网页建立会话后,服务器取出上述动态网页中的当前参数。具体而言,在本实施例中,服务器在与上述动态网页建立连接之后,获得该网页的HTML脚本文件,对于该脚本文件,服务器需要取得其中要进行HTTP请求通信所需要的参数,这些参数包括检索选项参数。在本实施例中,这些参数是动态的、随时间而变化的,所以,本步骤中服务器取得的参数仅是该网页的当前参数。
[0039] 步骤S13对取得参数进行预处理,得到检索表达式:在本步骤中,对于上述步骤中取得的参数进行预处理,得到检索表达式。在本实施例中,其具体步骤为先下载网页源代码,分析网页源代码;首先,如果网页源代码符合标准的html格式,找到包含所需内容的标签,然后通过正则表达式(预先写好了匹配的规则,如果页面源代码里面有符合这一规则的内容就会被自动提取出来)把所需内容提取出来;如果网页源代码符合标准的RSS格式,先通过分析函数把RSS转换成数组,然后从数组里面取出相匹配的内容。
[0040] 步骤S14对照上述动态网页脚本文件,修正检索表达式:在本步骤中,服务器对照上述取得的HTML文件中嵌入的脚本代码或引用的脚本文件,逐项理清各个检索选项到检索表达式的转换关系,并逐项修正上述检索表达式,从而得到修正后的检索表达式。
[0041] 步骤S15依据修正的检索表达式,形成HTTP请求并发送到该动态网页:由于上述步骤中,已经得到修正过后的、准确的检索表达式,在本步骤中,就是依据上述修正后的检索表达式,形成HTTP请求,并将该请求发送到上述动态网页。在本实施例中,该步骤应该是先将动态网页下载到服务器分析模块(一个变量),然后将该变量传送到预先写好的正则表达式,正则表达式对其内容进行过滤、筛选出符合要求的内容。
[0042] 步骤S16取得动态网页对于上述请求的回应中的链接信息:当上述请求被发送到上述动态网页之后,该动态网页将会对其产生以后回应,在本步骤中,接收该回应信息,并将该回应信息中所包含的关于该动态网页上内容的链接信息(在大多数情况下,是链接地址)提取出来。
[0043] 步骤S17转换上述链接信息的格式并存储:在本步骤中,将上述取得的链接信息的数据格式转换为设定格式,以便于在动态浏览界面上显示。在本实施例中,这些取得的链接信息最后要显示在与上述服务器连接的终端的动态浏览界面上,而在上述步骤中取得的链接信息可能并不适于在上述动态浏览界面上显示,所以,其中间需要一个转换的步骤,使得其在之后的步骤中便于使用。在本实施例中,上述链接信息被转换为RSS数据格式并存储起来。
[0044] 在本实施例中,上述步骤仅只描述了对于一个动态网页的一次链接信息取得的流程。在实际上,该服务器在不同的时间会对同一个动态网页进行多次上述链接信息的取得流程,同时,该服务器也会对多个动态网页进行与上述步骤相同的链接信息取得动作。这样,在服务器上就可以形成一个链接信息的集合,使得与上述服务器连接的终端(例如,DPF)就可以通过对该服务器的访问而得到较多的、不同的、基本可以满足用户需求的链接地址,从而节省单个用户访问这些链接地址的时间,降低其操作的复杂程度。
[0045] 在本实施例中,还揭示了一种由动态网页上获取链接信息的服务器,如图2、3所示,在图2中,服务器2包括:用于按照设定自动访问所述动态网页,取得所述动态网页上的参数的网页参数取得单元21;用于依据所述取得参数,生成模拟HTTP请求并发送到所述动态网页的请求形成单元22;用于由所述动态网页对于所述请求的回应中取出其上内容的链接信息的链接信息取得单元23;用于将所述得到的动态网页上的链接信息转换为适于在动态浏览界面上显示的数据格式的链接信息格式转换单元24。其中,网页参数取得单元21进一步包括:用于按照设定的时间使得所服务器与所述动态网页自动连接的自动连接子单元(图中未示出)和用于取得所述动态网页页面上的参数的当前参数取得子单元(图中未示出)。在本实施例中,该当前参数取得子单元是一个将得到的动态网页的HTML文件脚本取出,并取得该脚本文件中检索参数的检索参数项分析模块。上述各单元相互配合,使得该服务器能够完成上述取得动态网页中其内容的链接地址的任务。
[0046] 此外,如图3所示,上述请求形成单元23由用于对所述HTML文件脚本中的检索参数项进行预处理,形成检索表达式的预处理子单元231、用于结合所述动态网页的HTML脚本或引用的文件脚本,对所述检索表达式进行修正的检索表达式修正子单元232以及用于使用所述修正后的检索表达式,形成发送到所述动态网页的HTTP请求的HTTP请求形成子单元233组成。这些子单元相互配合,完成请求形成单元23的所有功能。
[0047] 值得一提的是,在本实施例中,上述各单元、子单元以及模块都是通过软件而形成的功能模块,在其他实施例中,也可以将上述由软件形成的功能模块全部或部分固化,形成一个或多个由硬件构成的功能模块,达到进一步加快处理速度的目的。
[0048] 总之,在本实施中,网页源数据站点分析与提取是实现和Web资源自动交互的基础,也是对所需网页提取数据的基础。一方面,与远程源Web资源的交互过程中,有些参数和数据是通过网页分析与提取获得的;通过分析获取其请求参数用来模拟HTTP请求。其分析结果包括如何得到查询结果页面及其规律等。由于通过程序模拟发送HTTP请求的过程,对于HTTP请求信息的获取是模拟成功的关键。系统采用性能优异的CURL访问组件,该组件远程访问速度快,支持多种网络传输协议FTP,TFTP,HTTP,HTTPS,LDAP协议的访问,极大地提高了Web会话的速度和协议范围,这样就可以正确获取HTTP请求通信所需的参数,此获取的过程就是分析HTML文件中的脚本代码,构造出正确的检索表达式。这些请求信息参数是动态变化的,系统通过程序模拟访问网页的方法进行分析,找出其中规律,实现实时请求、实时响应,动态加工重组所获取到的可用参数。对于要传递给Web服务器的检索选项,WEB服务器通过脚本,对检索选项参数进行预处理,在WEB服务器端生成一个检索表达式,再将此表达式以HTTP请求的方式传递给远程源视频服务器进行检索,在这种情况下,开发人员需要通过程序分析HTML文件中嵌入的脚本代码或引用的脚本文件,理清各个检索选项到检索表达式的转换关系,才能构造出正确的检索表达式。例如,有些网站的翻页链接或全文链接是Javascript写成的脚本命令,在HTML源代码中的静态文本是固定的,但实际指向的真正链接,却需要在脚本函数中动态生成。为了解决Session过期和远程源服务器限制并发访问数的问题,采用了检索时一次性释放检索系统Session会话的机制,当翻页时再次建立检索系统Session会话。使用Ajax技术实现多任务编程技术,对Web服务的通信进行异步调用,用户按需发出请求,用户发出的多个访问请求检索在服务器端是按线程处理的,用户请求的响应以服务器处理结果为准,检索处理过程互不影响,大大缩短了用户的总体响应时间,降低了服务器的并发处理压力,在用户端等待数据处理结果时,可进行其它资源库的检索,实现了多任务检索处理和操作。
[0049] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。