信息采集方法及相关设备与流程

文档序号:30221762发布日期:2022-05-31 22:28阅读:115来源:国知局
信息采集方法及相关设备与流程

1.本技术实施例涉及企业征信数据采集领域,尤其涉及一种信息采集方法及相关设备。


背景技术:

2.现有的网页内容采集工具之所以使用桌面客户端形式或浏览器插件形式,最主要的原因就是浏览器的同源策略导致跨域获取网页内容受阻,从而无法直接使用浏览器来提取或采集数据。
3.虽然,目前的企业数据的采集,很多采用模拟服务方通讯协议的方式,但是,由于目前各级政府提供的服务平台众多,而且,传统的采集方式一般是在同一时间,仅限在一个平台中进行采集,因此,用户不能一站式的同时采集多个服务站点的数据信息。
4.于此同时,服务端网站对用户的访问行为也做了很多的安全限制,会不定期的动态升级安全脚本,对仅通过通讯协议下载数据等此类行为带来了挑战。


技术实现要素:

5.本技术实施例提供了一种信息采集方法及相关设备,用于从网络服务器下载数据。
6.本技术实施例第一方面提供了一种信息采集方法,包括:
7.接收用户通过云端浏览器发送的信息下载请求,其中所述信息下载请求包括多个待下载数据信息的信息类型及信息标识;
8.根据所述多个待下载数据信息的信息类型,确定与每个所述信息类型分别对应的网络服务器;
9.分别为每个所述信息类型的待下载数据信息确定对应的信息采集模块,其中一个所述信息采集模块对应一个所述网络服务器的地址;
10.触发多个所述信息采集模块根据各自对应的网络服务器的地址,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
11.本技术实施例中,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
12.本技术实施例第二方面提供了一种信息采集方法,包括:
13.接收用户通过云端浏览器发送的信息下载请求,其中所述信息下载请求包括多个待下载数据信息的信息类型及信息标识;
14.根据所述多个待下载数据信息的信息类型,确定与每个所述信息类型分别对应的网络服务器;
15.分别为每个所述信息类型的待下载数据信息确定对应的信息采集模块,其中一个所述信息采集模块对应一个所述网络服务器的地址;
16.触发多个所述信息采集模块根据各自对应的网络服务器的地址,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
17.可选地,确定与每个所述信息类型分别对应的网络服务器之前,所述方法还包括:
18.根据所述信息下载请求确定所述用户的位置信息;
19.确定与每个所述信息类型分别对应的网络服务器,包括:
20.根据所述多个待下载数据信息的信息类型及所述位置信息,确定与每个所述信息类型及所述位置信息分别对应的网络服务器。
21.可选地,分别为每个所述信息类型的待下载数据信息确定对应的所述信息采集模块之前,所述方法还包括:
22.接收所述用户通过所述云端浏览器发送的登录信息;
23.向所述网络服务器发送所述登录信息,并接收所述网络服务器根据所述登录信息返回的所述用户是否登录成功的反馈信息;
24.若所述反馈信息表示所述用户登录成功,则执行分别为每个所述信息类型的待下载数据信息确定对应的所述信息采集模块的步骤。
25.可选地,所述方法还包括:
26.若所述用户登录失败,获取与登录失败相关的异常信息;
27.根据所述异常信息对所述云端浏览器的登录信息进行更新。
28.可选地,接收所述用户通过所述云端浏览器发送的登录信息之后,所述方法还包括:
29.若所述用户登录成功,向所述信息采集模块发送所述用户登录成功的信息。
30.可选地,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息之后,所述方法还包括:
31.若所述信息采集模块下载所述数据信息失败,接收所述信息采集模块发送的与下载所述数据信息失败相关的异常信息;
32.根据所述异常信息重新进行并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息的步骤。
33.可选地,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息,包括:
34.触发多个所述信息采集模块选择采集效率最高的采集方式;
35.触发多个所述信息采集模块按照效率最高的采集方式,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
36.本技术实施例,提供了一种并行信息采集方式,可以云端浏览器兼容并对信息进行采集,是一种对网络服务器影响最小的方式。同时,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
37.本技术实施例第三方面提供了一种信息采集系统,包括:
38.接收单元,用于接收用户通过云端浏览器发送的信息下载请求,其中所述信息下载请求包括多个待下载数据信息的信息类型及信息标识;
39.确定单元,用于根据所述多个待下载数据信息的信息类型,确定与每个所述信息
类型分别对应的网络服务器;
40.所述确定单元,还用于分别为每个所述信息类型的待下载数据信息确定对应的信息采集模块,其中一个所述信息采集模块对应一个所述网络服务器的地址;
41.下载单元,用于触发多个所述信息采集模块根据各自对应的网络服务器的地址,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
42.本技术实施例第三方面提供的信息采集装置用于执行第一方面所述的方法。
43.本技术实施例第四方面提供了一种信息采集系统,包括:
44.接收单元,用于接收用户通过云端浏览器发送的信息下载请求,其中所述信息下载请求包括多个待下载数据信息的信息类型及信息标识;
45.确定单元,用于根据所述多个待下载数据信息的信息类型,确定与每个所述信息类型分别对应的网络服务器;
46.所述确定单元,还用于分别为每个所述信息类型的待下载数据信息确定对应的信息采集模块,其中一个所述信息采集模块对应一个所述网络服务器的地址;
47.下载单元,用于触发多个所述信息采集模块根据各自对应的网络服务器的地址,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
48.可选地,
49.所述确定单元,还用于根据所述信息下载请求确定所述用户的位置信息;
50.所述确定单元,具体用于根据所述多个待下载数据信息的信息类型及所述位置信息,确定与每个所述信息类型及所述位置信息分别对应的网络服务器。
51.可选地,
52.所述接收单元,还用于接收所述用户通过所述云端浏览器发送的登录信息;
53.所述接收单元,还用于向所述网络服务器发送所述登录信息,并接收所述网络服务器根据所述登录信息返回的所述用户是否登录成功的反馈信息;
54.所述系统还包括执行单元。
55.所述执行单元,用于当所述反馈信息表示所述用户登录成功时,执行分别为每个所述信息类型的待下载数据信息确定对应的所述信息采集模块的步骤。
56.可选地,所述系统还包括获取单元及更新单元。
57.所述获取单元,用于当所述用户登录失败时,获取与登录失败相关的异常信息;
58.所述更新单元,用于根据所述异常信息对所述云端浏览器的登录信息进行更新。
59.可选地,所述系统还包括发送单元。
60.所述发送单元,用于当所述用户登录成功时,向所述信息采集模块发送所述用户登录成功的信息。
61.可选地,
62.所述接收单元,还用于当所述信息采集模块下载所述数据信息失败时,接收所述信息采集模块发送的与下载所述数据信息失败相关的异常信息;
63.所述执行单元,还用于根据所述异常信息重新进行并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息的步骤。
64.可选地,所述系统还包括选择单元。
65.所述选择单元,用于触发多个所述信息采集模块选择采集效率最高的采集方式;
66.所述下载单元,具体用于触发多个所述信息采集模块按照效率最高的采集方式,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
67.本技术实施例第四方面提供的信息采集装置用于执行第二方面所述的方法。
68.本技术实施例第五方面提供了一种信息采集装置,包括:
69.中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
70.所述存储器为短暂存储存储器或持久存储存储器;
71.所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面或第二方面所述的方法。
72.本技术实施例第六方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行第一方面或第二方面所述的方法。
73.从以上技术方案可以看出,本技术实施例具有以下优点:本技术实施例提供了一种并行信息采集方式,可以兼容云端浏览器并对信息进行采集,是一种对网络服务器影响最小的方式。同时,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
附图说明
74.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
75.图1为本技术实施例公开的一种信息采集系统的系统框架图;
76.图2为本技术实施例公开的另一种信息采集系统的系统框架图;
77.图3为本技术实施例公开的一种信息采集系统的流程示意图;
78.图4为本技术实施例公开的一种信息采集系统中用户采集模块的示例图;
79.图5为本技术实施例公开的一种信息采集方法的流程示意图;
80.图6为本技术实施例公开的一种采集数据样本示例图;
81.图7为本技术实施例公开的一种信息采集系统的结构示意图;
82.图8为本技术实施例公开的另一种信息采集系统的结构示意图;
83.图9为本技术实施例公开的一种信息采集装置的结构示意图。
具体实施方式
84.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
85.目前的企业数据的采集,很多采用模拟服务方通讯协议的方式,这类方式主要存在如下两个特征:一个是目前各级政府提供的服务平台众多,企业不能一站式的同时采集多个服务站点的数据,传统的采集方式是在同一时间内仅限于在某一个平台进行采集。再
一个是目前服务端网站对用户的访问行为做了很多的安全限制,会不定期的动态升级安全脚本,对仅通过通讯协议访问数据的行为带来了挑战。
86.因此,本技术实施例提供了一种信息采集方式及相关设备,用于解决如下几个问题。
87.(1)企业的数据通过云端浏览器访问,和用户本地的访问是同一套行为模式,为企业自身数据访问的持续性提供了可行性保障。
88.(2)通过会话复制,可以将不同类型的数据采集分不同的浏览器进行,可以对用户的数据进行并行采集。
89.(3)采用浏览器采集,可以屏蔽安全js的屏蔽,无需对各平台安全js脚本进行分析,提高了业务逻辑实现的快捷性。
90.可以理解的是,上述中所描述的企业或者是企业数据,仅为本技术实施例可以解决的技术方案的一个具体案例,在本技术实施例中所提出的技术方案也可以解决其他端的相关问题,后续不再对此进行赘述,为方便描述,后续仅以企业端作为案例进行描述。
91.还需要理解的是,会话在本技术实施例中指代的就是浏览器的cookie,获取登录后的cookie相当是获取用户登录后的身份。
92.不难理解的,cookie一般就是当访问某个站点时,随某个超文本链接标示语言(html,hypertext markup language)网页发送到浏览器中的一小段信息。js一般指代的就是javascript,也就是一种基于对象和事件驱动的客户端脚本语言。为方便描述,后续不再对cookie以及js进行赘述。
93.请参阅图1,图1为本技术实施例公开的一种信息采集系统的系统框架图。该信息采集系统主要划分为用户操作模块102、用户登录模块103、数据采集模块104以及异常报警模块105。智能终端101与102相连,用户操作模块102与用户登录模块103相连,用户登录模块103与数据采集模块104相连,异常报警模块105与用户登录模块103或数据采集模块104分别相连,具体模块功能如下:
94.用户操作模块102:用户操作模块102提供前端用户操作的适配性功能,页面要素的适配性配置等内容。
95.具体的,用户前端的适配性包含智能终端101的前端的应用,可以理解的是,智能终端101包括营销页面即h5页面,个人计算机(pc,personal computer)、手机、小程序、应用程序或应用软件。不难理解的是,本技术实施例并不对智能终端101的具体应用或产品做限制,智能终端101还可以是其他的应用或设备,只要其具备页面要素的适配性即可。
96.具体的,页面要素的适配性配置包含:用户身份的各类输入框,包含企业名称、统一社会信用代码、企业密码、企业关系人的手机号、短信密码或图形校验码等系列要素,这些要素和各web服务平台的登录要素可以对应。需要注意的是,本技术实施例并不对要素的具体内容做限制,要素还可以包括其他的与web服务平台的登录要素对应的其他要素信息,后续不再对此进行赘述。可以理解的是,web服务平台就是上述中所描述的网络服务器,为方便理解,后续不再对此进行赘述。
97.用户登录模块103:用户登录模块103主要是将用户操作界面102的各类要素与各web服务端平台登录的各个要素实现页面要素对应或与控件事件对应。
98.具体的,页面要素对应指代的是,在用户操作模块102上的用户操作页面中的各要
素能够和web服务端平台登录的要素能够对应。
99.控件事件对应指代的是,在用户操作模块102上的用户界面的各控件事件可以和web服务端的控件事件对应,例如控件的点击或移动,也可以是按钮、图片等页面要素的点击、拖动、输入等事件,需要注意的是,本技术实施例并不对控件事件的定义做具体限制,只要是对页面要素进行操作的,均可以称为控件事件,后续不再对此进行赘述。
100.数据采集模块104:用户登录后,将登录后的会话传递给数据采集模块104,由数据采集模块104根据授权采集的数据信息范畴,对数据信息进行并行采集。可以理解的是,根据不同政府网站的采集内容的差别,以及数据信息采集的内容划分不同,可以按照不同的数据信息内容,进行并行采集。例如:违法违章信息有独立的数据采集模块,财务报表有独立的数据采集模块等,不同模块可以负责不同的信息位置(url,uniform resource locator)地址。不难理解的,本技术实施例并不对数据采集模块的数量做限制,后续不再对此进行赘述。
101.异常报警模块105:无论是用户登录模块103,还是数据采集模块104,都会受到网络服务端升级的影响,通过异常报警模块105,对网络服务端的相关页面登录要素变动以及数据采集变化进行报警,及时跟踪服务端的变化并快速响应。
102.具体的,请参阅图2,图2为本技术实施例公开的另一种信息采集系统的系统框架图。图4是信息采集系统部署的具体实施例,包括nginx模块201、用户操作模块202、用户登录模块203、数据采集模块204、ip池模块205组成。nginx模块201分别与用户操作模块202、用户登录模块203以及数据采集模块204相连,用户登录模块203以及数据采集模块204均与ip池模块205相连。需要注意的是,用户操作模块202、用户登录模块203以及数据采集模块204与图1中用户操作模块102、用户登录模块103以及数据采集模块104的功能类似,此处不再对此进行赘述。
103.具体的,nginx模块201提供各模块的微服务部署访问,不难理解的是,nginx(engine x)是一个高性能的服务程序所用的协议(http,hypertext transfer protocol)和反向代理web服务器,同时也提供了网络消息访问协议(imap,internet message access protocol)/邮局协议版本3(pop3,post office protocol-version 3)/简单邮件传输协议(smtp,simple message transfer protocol)服务。nginx模块201提供统一的接口通讯地址,用户登录模块203和数据采集模块204可以动态扩容,通过nginx模块201对用户操作模块202提供统一的接口服务,扩容不会影响到用户操作模块202。
104.ip池模块205提供政府网站的网际协议资源(ip,internet protocol),也就是对外部web服务器的统一访问提供网络资源。
105.在图2中内部核心服务为用户操作模块202、用户登录模块203及数据采集模块204是可以进行微服务部署,并可以实现无限扩展。不难理解的,用户操作模块202、用户登录模块203及数据采集模块204可以部署多个,对于更多的用户请求,可以采用分ip或者是分服务器的方式,提供给用户使用。
106.需要注意的是,在图2中,该信息采集系统也可以包括异常报警模块,异常报警模块的功能与图1中异常报警模块105的功能类似,具体此处不做赘述。异常报警模块与用户登录模块203以及数据采集模块204相连。
107.请参阅图3,图3为为本技术实施例公开的一种信息采集系统的流程示意图。具体
的,包括步骤301-309。
108.301、用户操作模块将要素信息提交给用户登录模块。
109.用户在用户操作模块的操作界面上输入首次要素,例如公司名、统一社会信用代码或者是密码等要素。需要注意的是,本实施例并不对要素的具体内容做限制,要素还可以包括其他的与web服务端的登录要素对应的其他要素信息,后续不再对此进行赘述。
110.当用户将要素输入到用户操作模块后,用户操作模块会对该要素信息进行提取与识别,然后将识别到的要素内容提交给用户登录模块。
111.302、用户登录模块确定对应的web服务端。
112.用户登录模块根据操作用户所在区域的位置信息以及用户选择的需要采集的数据类型,确定对应的web服务端的地址。可以理解的是,web服务端的地址相当于预设的需要采集的政府网站上的数据信息,例如,若用户需要采集某市的税局数据,某市的电子税局域名是https://etax.xxx.chinatax.gov.cn。此时,确定的web服务端的地址即为该电子税局的域名。还可以理解的是,全国税局有51+5个省、单列市的电子税局地址,用户登录模块可以确定多个电子税局地址,也就是说,一个用户登录模块可以确定一个电子税局地址,多个税局地址可以由多个登录模块进行确定。还需要理解的是,本实施中所描述的web服务端的地址或电子税局的具体地址,仅为其中的一个具体实施例,web服务端的地址或其他政府网站的地址是存在多个的,具体此处不做限定。
113.当确定好web服务端的地址后,会向web服务端发送请求信息。具体的,用户登录模块会根据特定的web服务端地址,以及页面要素和控件事件的定义,启动具备id的独立的浏览器进程,例如启动chrome浏览器。在chrome浏览器中,将步骤301中传过来的参数,也就是用户在操作界面上输入的要素信息,设置到chrome浏览器的对应的控件中,然后根据控件的执行顺序和定义,触发chrome浏览器的事件,例如触发登录按钮事件。
114.需要注意的是,控制事件一般包含按钮、图片等页面要素的点击、拖动、输入等事件,主要是对页面要素进行自动化操作。前述已对控件事件及页面要素进行介绍,具体此处不再进行赘述。还需要理解的是,具备id的浏览器是有多种类型的。例如,chrome浏览器对于自动化代码支持的程度较好,支持的页面要素操作方法较为丰富。而ie也能够支持自动化代码的执行,和chrome浏览器类似,那么此时,启动ie浏览器的进程就需要启动控制ie浏览器的ie driverserver.exe进程,不难理解的是,具体此处不对浏览器的具体类型做限定。不难理解的是,本实施例中所描述的具备id的浏览器是基于云端浏览器的一种浏览器。
115.还需要理解的是,本实施例中所描述的控件的执行顺序,以ie浏览器为例。
116.具体的,首先加载selenium模块,它是一种自动化测试模块,主要用于测试ui界面。然后,通过selenium模块启动ie driverserver.exe进程,需要注意的是,启动的驱动程序driver具备唯一的id。其次,在driver中访问对应的网址。最后,当网址打开后,在页面上对应的输入框输入需要的信息,以及触发按钮事件。本实施例中,并不对ie浏览器的具体执行顺序做限定,也不对其他类型的浏览器的具体执行顺序做限定,该步骤的主要目的是为了确定对应的web服务端的地址。
117.303、web服务端将是否登录成功的信息反馈给用户登录模块。
118.web服务端的浏览器的事件触发后,由web服务器对该事件进行响应,并将响应信息返回给用户登录模块,该响应信息包括用户是否登录成功的信息,不难理解的,该响应信
息也可以包含其他类型的信息,例如短信或图形校验码等,具体此处不做限定。
119.当web服务器将响应信息发送给用户登录模块时,也会启动对应的控件事件并将该控件事件的具体内容也发送给用户登录模块,该控件事件包含选择企业的操作人,发送短信到操作人的手机,输入接收到的短信,以及图形校验码的交互等等。
120.304、用户登录模块将从web服务器接收到的信息发送给用户操作模块。
121.用户登录模块将web服务器所返回的个性的信息内容,经过统一的定义和封装,返回给用户操作模块,并对用户下一步的操作进行提示。
122.不难理解的是,因为每个用户的业务方面的信息不一样,登录后所需的个性的消息内容一般包含实名制信息等,实名制信息一般用于在用户界面上进行展示,例如,展示为某某企业,某某人你好。
123.还需要理解的是,封装主要是指在数据接口层面,将信息内容进行格式化处理,形成json(javascript object notation)格式的内容,主要是因为json格式的内容在前端页面上可以做较好的展示,具体此处不对封装的具体方式做限定,为方便描述,后续也不再对封装做描述。
124.305、用户登录模块将会话信息发送给数据采集模块。
125.当用户在用户操作模块上将校验信息输入后,用户登录模块上会显示登录成功的信息并且会发送该登录成功的消息给数据采集模块。
126.对于登录成功的用户操作,用户登录模块会获取当前所启动的浏览器的会话,也就是在政府网站上该用户的会话信息,并统一对会话信息进行管理,并将浏览器会话信息发送给数据采集模块。需要注意的是,在本实施例中,当前的浏览器的会话也就是浏览器的cookie,获取登录后的cookie相当是获取用户登录后的身份,以使得浏览器能够识别用户身,由此可以让用户保持登录状态。为方便理解,后续不再对会话的相关内容进行赘述。
127.数据采集模块获取到会话后,会根据不同政府网站的采集内容差别,以及数据采集的内容划分不同,可以按照不同的数据内容,进行并行采集。例如:违法违章信息有独立的采集模块,财务报表有独立的采集模块等,不同模块负责不同的url地址。同时,数据采集模块也会和用户登录模块一样,启动具备唯一性id的浏览器,例如chrome浏览器,并将会话信息恢复到该浏览器中,使登录该浏览器的用户具备登录状态。不难理解的是,具备id的浏览器是有多种类型的,具体此处不对浏览器的具体类型做限定。还需要理解的是,若启动的是ie浏览器,则启动步骤与步骤302中ie浏览器的启动步骤类似,具体此处不再赘述。
128.306、数据采集模块下载对应的数据信息。
129.数据采集模块访问web服务端,根据授权的采集数据范畴,数据采集模块访问web服务器对应的数据查询地址、或者数据查询的结果、以及下载附件等等。需要注意的是,在步骤301开始的时候就需要对需要采集的数据信息进行授权,用户登录相当于是确认了用户的身份。为方便理解,后续不再对授权的具体含义进行赘述。
130.具体的,数据采集模块会进行会话保持,也就是保持用户的登录状态,并从会话管理服务中获取用户的会话信息以及ip信息。因为,部分政府网站会检查身份会话信息和客户端的ip地址的匹配性,所以同一个会话的并行访问,最好走同一个出口的ip地址。
131.然后,数据采集模块会按照预先的设置,也就是在步骤302中所选择的数据类型,完成需要内容的采集。不难理解的是,采集数据信息的方式可以多样化,例如可以采用
requests包,requests包是标准通用的第三方http服务访问包,也就是在浏览器外的一种请求包,可以实现信息下载。同时,也可以采用javascript and xml(ajax,asynchronous javascript and xml),它是指一种创建交互式网页应用的网页开发技术,进行request请求或者是发送post请求,因为部分政府网站是采用的ajax来展示业务信息,可以和业务操作保持一致。一般情况下,该多类型获取方法,以采集效率最高的优先,采集完成后做好采集结束标记。
132.307、若用户登录失败,用户登录模块将异常信息发送给异常报警模块。
133.对于web服务端登录要素的变更,所导致的登录失败或者服务异常,用户登录模块会将相关的异常信息传递给异常报警模块,便于及时迭代更新。
134.具体的,在步骤303中,若web服务端反馈给用户登录模块的响应信息包含用户登录失败的信息,而且是由于web服务端登录要素的变更所导致的用户登录失败,用户登录模块会将登录失败时所产生的异常信息传递给异常报警模块,具体的,该变更信息可能为原先只需输入用户名及密码,web服务端的登录要素变更后,用户不仅需要输入用户面及密码,也需要输入用户的身份证号码或企业代码。由此,系统可以对用户操作模块上的登录界面进行迭代更新。需要理解的是,本实施例并不对变更原因做具体限制,具体取决于政府网站上所需求的登录要素。
135.当用户登录模块将异常信息发送给异常报警模块后,用户需重新在用户操作模块上输入要素信息,即执行步骤301。
136.当异常报警模块收到异常信息后,执行步骤309。
137.308、若采集数据信息失败,数据采集模块将异常信息发送给异常报警模块。
138.对于web服务端数据查询和下载的变更,所导致的数据查询或者下载失败或者异常,数据采集模块会将相关的异常信息传递给异常报警模块,便于及时迭代更新。
139.具体的,在步骤306中,若数据采集模块在web服务端进行数据查询或下载失败,一般可能是政府网站下载链接的变更,也有可能是政府网站的下载峰值达到预定的额度,也有可能是其他原因,数据采集模块会收集产生数据查询或下载失败原因的异常信息,并将该异常信息发送至异常报警模块。需要注意的是,本实施例并不对失败原因做具体限制,为方便理解,后续不再对此进行赘述。
140.当数据采集模块将异常信息发送给异常报警模块后,数据采集模块会重新对数据信息进行采集,即执行步骤306。
141.当异常报警模块收到异常信息后,执行步骤309。
142.309、异常报警模块将异常信息发送至用户终端。
143.当异常报警模块接收到异常信息后,会及时通讯或通过邮件对用户终端进行报警,以提示用户出现异常。具体此处不对通讯方式做限定。
144.还需要理解的是,用户操作模块和用户登录模块之间的通讯报文的一个具体实施例为:
145.请求报文,即用户登录模块向web服务端发送请求信息:
146.task_id:xxxxx
147.method:get_personnel_list
148.data:
149.{"nsrsbh":"",//纳税人识别号
150."password":"",//密码
151."sflx":""//法人\财务负责人\办税人
152.}
153.响应报文:
154.成功:
155.data:
156.{"ry":[]//人员信息列表}
[0157]
失败,如验证码错误,用户名或密码错误:
[0158]
data:
[0159]
{"image":""//验证码图片base64编码}
[0160]
不难理解的是,本报文仅为通讯报文的一种实现方式,还可以有其他的代码,具体此处不做限定。
[0161]
本实施例,可以通过分析各政府网站的特点,分离采集数据信息流程,数据采集按照认证登录、会话保持、数据采集,以及并行处理的方式进行。支持了对与多维度的企业数据以及多服务端的数据源进行并行采集的方式。
[0162]
请参阅4,图4为本技术实施例公开的一种信息采集系统中用户采集模块的示例图。
[0163]
图4为信息采集系统中用户操作模块的一个具体页面的显示结果,它包含企业用户输入用户名、登录密码、图形验证码。用户通过在该页面上输入对应的要素信息或者是登录信息,以登录对应政府网站。具体的,可以参考图1中用户操作模块102的页面要素的具体解释,此处不再对此进行赘述。
[0164]
上面对信息采集系统的系统框架图进行了描述,下面对信息采集方法进行描述,请参阅图5,图5为本技术实施例公开的一种信息采集方法的流程示意图,应用于云服务器,包括步骤501-506。可以理解的是,这是一种基于云端浏览器的信息采集方法。
[0165]
501、接收用户通过云端浏览器发送的信息下载请求。
[0166]
接收用户通过云端浏览器发送的信息下载请求,其中信息下载请求包括多个待下载数据信息的信息类型及信息标识。
[0167]
具体的,用户在云端浏览器的操作界面上输入要素信息,也就是在政府网站上所需的登录信息。云端浏览器可以从操作界面中提取并识别到用户所输入的要素信息,并根据用户所在的ip地址获取到用户所在的区域,同时,云端浏览器也可以获取到用户所选择的信息类型以及下载信息类型的信息标识。需要理解的是,该信息类型就是前述中所描述的数据类型。为方便描述,后续均以信息类型进行描述,具体不再对此进行赘述。
[0168]
当云端浏览器获取到用户所在的区域以及需要采集的信息类型时,云服务器会接收用户通过云端浏览器发送的信息下载请求。可以理解的是,该信息下载请求包括多个待下载数据信息的信息类型、信息标识以及用户的位置信息。
[0169]
502、确定与每个信息类型分别对应的网络服务器。
[0170]
根据多个待下载数据信息的信息类型,确定与每个信息类型分别对应的网络服务器。
[0171]
具体的,云服务器接收到信息下载请求后,会对该请求进行解析,并从中获取到用户的位置信息以及多个待下载数据信息的信息类型和信息标识,并根据多个待下载数据信息的信息类型及位置信息,确定与每个信息类型及位置信息分别对应的网络服务器以及网络服务器的地址。不难理解的是,网络服务器即为前述的web服务器,网络服务器的地址即为前述的政府网站的地址,为方便描述,后续均以网络服务器或网络服务器的地址进行描述,具体不再对此进行赘述。
[0172]
503、接收用户通过云端浏览器发送的登录信息。
[0173]
当云端浏览器获取到用户的登录信息后,会向云服务器发送用户的登录信息。当云服务器接收到登录信息后,会将该登录信息发送给网络服务器。可以理解的是,每台云服务器可以提供200至500户的浏览器资源,相当一台电脑可以模拟上百个用户的认证登录请求。需要注意的是,本实施例并不对云服务器具体的可提供的浏览器资源做限制,后续不再对此进行赘述。
[0174]
云服务器根据特定的网络服务器的地址,以及页面要素和对于页面要素的操作,启动具备id的独立的浏览器进程,例如启动chrome浏览器,可以理解的是chrome浏览器是基于云端浏览器的一种浏览器。
[0175]
在chrome浏览器中,将获取到的登录信息,设置到chrome浏览器对应的控件中,然后根据控件的执行顺序和定义,触发chrome浏览器的事件,例如触发登录按钮事件,以使得chrome浏览器进入登录进程。
[0176]
本实施例并不对步骤502及步骤503的先后顺序做限制,可以先执行步骤503再执行步骤502。但需要说明的是,云服务器确定网络服务器的地址的步骤一定在步骤502,即确定与每个信息类型分别对应的网络服务器的步骤之后。
[0177]
504、接收网络服务器根据登录信息返回的用户是否登录成功的反馈信息,若是,执行步骤505;若否,执行步骤503。
[0178]
当chrome浏览器的事件触发后,网络服务器会对该事件进行响应。
[0179]
具体的,网络服务器会向云服务器发送根据登录信息返回的用户是否登录成功的反馈信息。可以理解的是,当网络服务器向云服务器发送反馈信息前,用户还需要进行登录校验,具体的,该登录校验的方式可以是网络服务器先选择企业的操作人,也就是用户,然后发送短信或图形校验码到用户的手机,用户输入接收到的短信校验码或对图形校验码进行交互,以此来校验用户是否为授权用户。
[0180]
当反馈信息为用户登录成功时,云服务器会将网络服务器返回的个性信息进行统一的定义和封装,然后发送给云端浏览器。云端浏览器以此在页面上展示用户信息以及用户登录成功的信息。可以理解的是,该个性信息,即为前述步骤304中所描述的个性信息,此处不再对此进行赘述。
[0181]
还需要理解的是,当用户登录成功后,执行步骤305。
[0182]
当反馈信息为用户登录失败时,云服务器会获取到与登录失败相关的异常信息,并对该异常信息进行解析。一般情况下,该异常信息为网络服务端的地址上的登录要素发生变更,例如,登录校验码发生变更。具体的,登录校验码一开始时需要的是输入短信校验码,后续变更为对图形校验码进行交互。需要理解的是,本实施例并不对变更原因做具体限制,具体取决于网络服务端的地址上所需求的登录要素。
[0183]
还需要理解的是,当用户登录失败后,执行步骤301,即用户需要在云端浏览器的操作界面上重新输入登录信息。
[0184]
505、分别为每个信息类型的待下载数据信息确定对应的信息采集模块。
[0185]
分别为每个信息类型的待下载数据信息确定对应的信息采集模块,其中一个信息采集模块对应一个网络服务器的地址。可以理解的是,该信息采集模块即为前述图1中所描述的数据采集模块,此处不再对信息采集模块的功能做具体描述。为方便描述,后续均以信息采集模块进行描述。
[0186]
具体的,当用户登录成功后,云服务器会向信息采集模块发送用户登录成功的信息。与此同时,云服务器也会收集chrome浏览器上该用户的会话信息,并统一对会话信息进行管理。然后,云服务器会将会话信息发送给信息采集模块。
[0187]
当信息采集模块获取到会话后,会根据不同政府网站的采集内容差别,以及数据采集的内容划分不同,可以按照不同的数据内容,进行并行采集。例如:违法违章信息有独立的采集模块,财务报表有独立的采集模块等,不同模块负责不同的url地址。同时,信息采集模块也会和用户登录模块一样,启动具备唯一性id的浏览器,例如chrome浏览器,并将会话信息恢复到该浏览器中,使登录该chrome浏览器的用户具备登录状态。
[0188]
506、并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息。
[0189]
触发多个所述信息采集模块根据各自对应的网络服务器的地址,并行从多个所述网络服务器下载所述信息采集模块各自对应的待下载数据信息。
[0190]
具体的,信息采集模块会进行会话保持,也就是保持用户的登录状态,并从会话管理服务中获取用户的会话信息以及ip信息。信息采集模块根据用户会话信息以及ip信息,会访问网络服务器,根据授权的采集数据范畴,信息采集模块访问网络服务器对应的网络服务器的地址,进行数据信息查询以及下载附件等等。然后,信息采集模块会按照预先的设置,也就是在本实施中步骤501所选择的信息类型,完成需要内容的采集。
[0191]
不难理解的是,不难理解的是,采集数据信息的方式可以多样化,例如可以采用requests包,requests包是标准通用的第三方http服务访问包,也就是在浏览器外的一种请求包,可以实现信息下载。同时,也可以采用ajax,进行request请求或者是发送post请求,因为部分政府网站是采用的ajax来展示业务信息,可以和业务操作保持一致。一般情况下,该多类型获取方法,以采集效率最高的优先,采集完成后做好采集结束标记。
[0192]
还需要说明的是,若信息采集模块在网络服务器进行数据查询或下载失败,一般可能是政府网站下载链接的变更,也有可能是政府网站的下载峰值达到预定的额度,也有可能是其他原因,信息采集模块会收集产生数据查询或下载失败原因的异常信息,并将该异常信息发送至云服务器。需要注意的是,本实施例并不对失败原因做具体限制,为方便理解,后续不再对此进行赘述。
[0193]
云服务器会对该异常信息进行解析。与此同时,信息采集模块会重新对数据信息进行采集,即执行步骤506。
[0194]
需要说明的是,为方便描述,本实施例仅以一个信息下载请求进行描述,但需要理解的是,本实施例是可以借助浏览器的云端实现,并将数据采集的各服务进行合理性的拆解和组装,可以支持对多维度的企业数据、多服务端的数据源进行并行采集的。
[0195]
在本实施例中,该信息采集方法可以兼容云端浏览器并对信息进行采集,是一种
对网络服务器影响最小的方式。同时,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
[0196]
请参阅图6,图6为本技术实施例公开的一种采集数据样本示例图。
[0197]
具体的,图6就是从政府网站上经过数据采集后的数据样本。它主要显示的是企业的一种关联关系表,包括了关联方名称、关联方类型、国家(地区)、证件种类、纳税人识别号或身份证号码、关联关系类型、起始日期以及截止日期。例如,关联方名称显示为某某企业;关联方类型显示为企业法人;国家(地区)显示为中华人民共和国;证件种类显示为组织机构代码证;纳税人识别号或身份证号码显示为某某企业的代码;关联关系类型显示为01;起始日期显示为某某企业成立日期;截止日期显示为2099-12-31。
[0198]
需要注意的是,采集到的数据样本仅为从政府网站上采集到的一个具体事例,本技术实施例并不对采集到的数据信息做限定。
[0199]
上面对本技术实施例中的信息采集方法进行了描述,下面对本技术实施例中的信息采集系统的结构进行描述,请参阅图7,一种信息采集系统的结构包括:
[0200]
接收单元701,用于接收用户通过云端浏览器发送的信息下载请求,其中信息下载请求包括多个待下载数据信息的信息类型及信息标识;
[0201]
确定单元702,用于根据多个待下载数据信息的信息类型,确定与每个信息类型分别对应的网络服务器;
[0202]
确定单元702,还用于分别为每个信息类型的待下载数据信息确定对应的信息采集模块,其中一个信息采集模块对应一个网络服务器的地址;
[0203]
下载单元703,用于触发多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息。
[0204]
本实施例中,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
[0205]
下面对本技术实施例中的信息采集系统的结构进行详细描述,请参阅图8,本技术实施例公开的另一种信息采集系统的结构包括:
[0206]
接收单元801,用于接收用户通过云端浏览器发送的信息下载请求,其中信息下载请求包括多个待下载数据信息的信息类型及信息标识;
[0207]
确定单元802,用于根据多个待下载数据信息的信息类型,确定与每个信息类型分别对应的网络服务器;
[0208]
确定单元802,还用于分别为每个信息类型的待下载数据信息确定对应的信息采集模块,其中一个信息采集模块对应一个网络服务器的地址;
[0209]
下载单元803,用于触发多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息。
[0210]
示例性地,
[0211]
确定单元802,还用于根据信息下载请求确定用户的位置信息;
[0212]
确定单元802,具体用于根据多个待下载数据信息的信息类型及位置信息,确定与每个信息类型及位置信息分别对应的网络服务器。
[0213]
示例性地,
[0214]
接收单元801,还用于接收用户通过云端浏览器发送的登录信息;
[0215]
接收单元801,还用于向网络服务器发送登录信息,并接收网络服务器根据登录信息返回的用户是否登录成功的反馈信息;
[0216]
系统还包括执行单元804。
[0217]
执行单元804,用于当反馈信息表示用户登录成功时,执行分别为每个信息类型的待下载数据信息确定对应的信息采集模块的步骤。
[0218]
示例性地,系统还包括获取单元805及更新单元806。
[0219]
获取单元802,用于当用户登录失败时,获取与登录失败相关的异常信息;
[0220]
更新单元803,用于根据异常信息对云端浏览器的登录信息进行更新。
[0221]
示例性地,系统还包括发送单元807。
[0222]
发送单元807,用于当用户登录成功时,向信息采集模块发送用户登录成功的信息。
[0223]
示例性地,
[0224]
接收单元801,还用于当信息采集模块下载数据信息失败时,接收信息采集模块发送的与下载数据信息失败相关的异常信息;
[0225]
执行单元804,还用于根据异常信息重新进行并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息的步骤。
[0226]
示例性地,系统还包括选择单元808。
[0227]
选择单元808,用于触发多个信息采集模块选择采集效率最高的采集方式;
[0228]
下载单元803,具体用于触发多个信息采集模块按照效率最高的采集方式,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息。
[0229]
本实施例提供了一种并行信息采集方式,可以云端浏览器兼容并对信息进行采集,是一种对网络服务器影响最小的方式。同时,多个信息采集模块根据各自对应的网络服务器的地址,并行从多个网络服务器下载信息采集模块各自对应的待下载数据信息,实现了多数据源的并行采集,提高了用户的体验感。
[0230]
下面请参阅图9,本技术实施例公开的一种信息采集装置的结构示意图包括:
[0231]
中央处理器901,存储器905,输入输出接口904,有线或无线网络接口903以及电源902;
[0232]
存储器905为短暂存储存储器或持久存储存储器;
[0233]
中央处理器901配置为与存储器905通信,并执行存储器905中的指令操作以执行前述图5所示实施例中的方法。
[0234]
本技术实施例还提供一种芯片系统,其特征在于,芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行前述图5所示实施例中的方法。
[0235]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0236]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0237]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0238]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0239]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1