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

一种基于网页分割和搜索算法的服务包装方法技术

技术编号:22075988 阅读:31 留言:0更新日期:2019-09-12 14:13
本发明专利技术公开了一种基于网页分割和搜索算法的服务包装方法,包括以下步骤:服务提取阶段,包括动态包装和/或静态包装;针对动态包装,对动态网页进行解析,并在解析获得的动态表单信息中标记可能存在的表单,用户在可能存在的表单中标记并定义需要的表单;针对静态包装,对静态网页进行解析,并对解析得到的静态表单进行分块和标记,用户选择并定义所需的分块,并填写服务的名称和描述信息和提取规则;服务调用阶段,用户输入调用服务的相关信息,后端系统根据接收的服务调用相关信息,按照提取规则生成相应服务,并返回前端。本发明专利技术极大地提升了用户获取数据的效率。

A Service Packaging Method Based on Web Page Segmentation and Search Algorithms

【技术实现步骤摘要】
一种基于网页分割和搜索算法的服务包装方法
本专利技术涉及服务计算领域,具体涉及一种基于网页分割和搜索算法的服务包装方法。
技术介绍
随着互联网的发展,服务提供者倾向于通过网页来展示自己的服务数据,然而各式各样提供便利的网页反而对开发者使用这些源数据造成了很大的限制。服务包装系统旨在将网页中的数据进行封装,包装成一个服务,并提供调用该服务的RestFulAPI以供开发者在开发过程中使用该服务。Web页面块分割技术是对现有网页文档进行分析和处理,具体将整个Web页面分割成包含信息数据的多个块的技术,从而实现广告去除、主要信息提取等功能,主要包括基于节点熵的页面分块技术,基于视觉特征的页面分块技术,基于内容距离的网页分块技术等,Web网页分割技术已被广泛应用于互联网行业的各个领域。服务是具有多种属性,从属于某一具体服务类别,由某个或某类开发者提供的API集合。API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API具有多种输入输出属性,属于某个具体开发者,从属于某一具体服务。网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
技术实现思路
本专利技术的目的是提供一种基于网页分割和搜索算法的服务包装方法。该服务包装方法极大地提升了用户获取数据的效率。为实现上述专利技术目的,本专利技术提供以下技术方案:一种基于网页分割和搜索算法的服务包装方法,包括以下步骤:服务提取阶段,包括动态包装和/或静态包装;针对动态包装,对动态网页进行解析,并在解析获得的动态表单信息中标记可能存在的表单,用户在可能存在的表单中标记并定义需要的表单;针对静态包装,对静态网页进行解析,并对解析得到的静态表单进行分块和标记,用户选择并定义所需的分块,并填写服务的名称和描述信息和提取规则;服务调用阶段,用户输入调用服务的相关信息,后端系统根据接收的服务调用相关信息,按照提取规则生成相应服务,并返回前端。本专利技术提供的基于网页分割和搜索算法的服务包装方法,可自动分析页面,通过若干点击和少量的输入即可完成对一个网页的封装的模块,可以将网页封装成一个服务,生成爬虫规则,并按照用户需求返回相应结构化的数据。极大地提升了用户获取数据的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。图1是本专利技术基于网页分割和搜索算法的服务包装方法及系统的实现框架;图2是本专利技术基于网页分割和搜索算法的服务包装方法及系统的用户使用流程图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。本专利技术提供的基于网页分割和搜索算法的服务包装方法,包括服务提取阶段和服务调用阶段,服务提取是包装者通过若干点击和少量的输入即可完成对一个网页的封装的模块,可以将网页封装成一个服务。服务调用是指调用已封装的服务,并且提供了若干参数以供满足输入和筛选的需求,这些参数既包括统一的参数,也包含针对不同网页生成的特定参数。下面以http://www.ceic.ac.cn/history页面为例,解释基于网页分割和搜索算法的服务包装方法运行规则。如图1和图2所示,本专利技术一种基于网页分割和搜索算法的服务包装方法,包括以下过程:阶段一:服务提取服务提取主要包含静态包装和动态包装两个功能,即对数据直接呈现在网页中的网页进行静态包装;对需要输入一定的查询内容并点击按钮才能呈现数据的网页进行动态包装。对用户而言,服务提取只需要用户进行少量点击和填写部分对服务描述性信息即可。服务提取会根据网页隐式地进行两种不同的提取规则。对静态网页,也就是数据直接呈现在网页中的网页,进行静态网页提取;对动态网页,也就是需要用户进行一定的输入和点击,数据才会呈现的网页,进行动态网页提取。动态包装包括以下步骤:S1-1、动态页面信息解析,具体包括:S1-1-1、用户自己填写一个url地址,此地址为任意一个可被国际互联网访问的web链接。S1-1-2、使用爬虫技术爬取此url地址对应web页面的源码;爬虫工具可以为python3.6环境下的Selenium+BeautifulSoup+Pyquery。S1-1-3、查找页面中是否存在<form>标签,将网页源码转换为结构化类数据,在类数据中查找form标签,并做好标记。标记信息为json格式文件,示例如下:json文件解析如下:*url是网址。*form_check为1/0,如果是0就不使用form检测,如果是1就使用form检测。*main_form_index为下面默认选择forms数组的索引号,配合form_check使用。*forms为一个数组,里面存储了页面中所有的form信息(一般情况下页面中最多只有一个form,但这里检索了所有的form,第一个为默认),最终,前端根据用户实际的选择修改"main_form_index"的值。*forms中的每一个元素解析如下,如forms[0]:*id和len是辅助信息。*所有的css_selector为form的选择器。*main_btn_index为下面submit_button_list中主要按钮的索引号,根据用户选择修改。*input_list为表单的参数列表,同时也是后台api的输入参数列表,如input_list[0]:*query_name是可以让用户修改的,我们的api使用的查询name。*required是用户是否必须输入的标识。*value是用户输入值的默认项,可以让用户修改。S1-1-4、在GUI显示后台不断打印出解析日志信息。其中,日志信息格式为Logging+时间戳–>+正在处理的事情。最后一行成功情况下为200+网页表格规则json文件地址+网页截图地址;失败情况下为503+Procedurefailed,pleaseretry!,如:Logging2018-11-2620:23:14.572181->CrawlHTMLDocumentfromhttp://www.ceic.ac.cn/history,pleasewaitforabout40s(max60s)Logging2018-11-2620:23:18.772222->Findingformlableonhttp://www.ceic.ac.cn/historyLogging2018-11-2620:23:18.974834->Finishedonhttp://www.ceic.ac.cn/history200http://183.129.170.180:18088/statics/form_test1/form_list.jsonhttp本文档来自技高网...

【技术保护点】
1.一种基于网页分割和搜索算法的服务包装方法,包括以下步骤:服务提取阶段,包括动态包装和/或静态包装;针对动态包装,对动态网页进行解析,并在解析获得的动态表单信息中标记可能存在的表单,用户在可能存在的表单中标记并定义需要的表单;针对静态包装,对静态网页进行解析,并对解析得到的静态表单进行分块和标记,用户选择并定义所需的分块,并填写服务的名称和描述信息和提取规则;服务调用阶段,用户输入调用服务的相关信息,后端系统根据接收的服务调用相关信息,按照提取规则生成相应服务,并返回前端。

【技术特征摘要】
1.一种基于网页分割和搜索算法的服务包装方法,包括以下步骤:服务提取阶段,包括动态包装和/或静态包装;针对动态包装,对动态网页进行解析,并在解析获得的动态表单信息中标记可能存在的表单,用户在可能存在的表单中标记并定义需要的表单;针对静态包装,对静态网页进行解析,并对解析得到的静态表单进行分块和标记,用户选择并定义所需的分块,并填写服务的名称和描述信息和提取规则;服务调用阶段,用户输入调用服务的相关信息,后端系统根据接收的服务调用相关信息,按照提取规则生成相应服务,并返回前端。2.如权利要求1所述的基于网页分割和搜索算法的服务包装方法,其特征在于,动态包装包括以下步骤:S1-1、动态页面信息解析,具体包括:S1-1-1、用户自己填写一个url地址,此地址为任意一个可被国际互联网访问的web链接;S1-1-2、使用爬虫技术爬取此url地址对应web页面的源码;S1-1-3、查找页面中是否存在<form>标签,将网页源码转换为结构化类数据,在类数据中查找form标签,并做好标记;S1-1-4、在GUI显示后台不断打印出解析日志信息;S1-1-5、使用图像处理技术,标记页面中所有可能存在的表单信息,以及每个表单中的每一个输入框的位置、可能的提交按钮的位置;S1-2、用户选择表单并定义输入参数信息,具体包括:S1-2-1、用户自主选择自己是否需要使用表单,如需要,选择表单编号,如不需要,跳过此步骤;S1-2-2、用户自主定义每个输入框的名称以及示例值,选择提交按钮编号;S1-2-3、将用户修改后的信息提交给后台,后台根据此信息生成form表单提取规则。3.如权利要求2所述的基于网页分割和搜索算法的服务包装方法,其特征在于,爬虫工具为python3.6环境下的Selenium+BeautifulSoup+Pyquery。4.如权利要求1所述的基于网页分割和搜索算法的服务包装方法,其特征在于,静态包装包括以下步骤:S1-3、静态页面信息解析,具体包括:S1-3-1、使用爬虫技术爬取url地址对应web页面的源码;S1-3-2、使用广度优先搜索算法,找到页面中所有可能存在的项...

【专利技术属性】
技术研发人员:罗智凌王乃博吕西亚杨子桐廖翔勇尹建伟李莹邓水光
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1