一种基于浏览器插件实现网页读写的装置的制作方法

文档序号:32941295发布日期:2023-01-14 09:09阅读:29来源:国知局
一种基于浏览器插件实现网页读写的装置的制作方法

1.本发明涉及网路爬虫技术领域,尤其涉及一种基于浏览器插件实现网页读写的装置。


背景技术:

2.随着信息化、互联网的大力发展,web服务承载了海量的数据,如何从海量数据中提取所需数据进行分类、归纳、总结、分析成为一个比较关键的问题。
3.同时各部门在信息化建设过程中完成了一个又一个信息化系统的建设,但是不同程度的都会遇到信息孤岛,系统之间无法打通,数据无法互联互通的问题。
4.目前一种比较通用的方式是通过网络爬虫来实现数据的获取或者模拟提交上传,但是出于网络安全和web服务稳定性的考虑,互联网服务或者信息化系统建设过程中会进行一系列的反爬加固操作。现在很多网页内容不能直接通过最初的http请求直接获取,而是在返回的html页面中通过js加载资源及计算动态生成的页面,同时数据提交的过程中也会涉及到原始数据加工后再提交的问题。
5.浏览器插件可以拓展浏览器的功能,主要包括:获取网页内容、捕捉http报文、修改浏览器地址栏网址、打开关闭tab页面、与别的站点通信、修改网页内容、模拟人工点击等。
6.目前主流浏览器chrome、edge、360系列浏览器都开放了插件编辑功能使得开发者能够在浏览器中执行自定义的js代码,通过自定义的js代码可以在页面上获取数据,或者修改网页内容进行提交。
7.基于浏览器插件读写网页数据可以绕过反爬设置,方便的对网页数据进行读写。


技术实现要素:

8.为了解决以上技术问题,本发明提供了一种基于浏览器插件实现网页读写的装置。解决了海量数据下精准获取所需数据难度高的问题,该装置可绕过反爬虫设置直接通过对网页的分析或者修改来实现数据的获取和提交。
9.本发明的技术方案是:
10.一种基于浏览器实现网页读写的装置,包括浏览器插件模块、任务管理模块、数据处理模块;
11.浏览器插件模块为前端模块,安装部署在浏览器上,负责对网页数据读取和回写操作;
12.任务管理模块负责网页读、写任务的配置、下发启动和结束的生命流程管理;
13.数据处理模块负责网页数据与数据库表结构格式转换以及数据入库、出库的操作。
14.进一步的,
15.网页数据读取包括以下步骤:
16.s1插件安装,间隔五秒发送心跳至任务管理模块。
17.s2插件轮询等待任务下发启动。
18.s3任务管理模块配置读任务,配置内容为web页面的url,配置网页解析模板,勾选插件终端,下发任务。
19.s4插件接收到读任务,打开url,加载web页面,页面加载完毕后,插件根据解析模板对网页进行解析,解析成json数据。
20.s5插件将解析后的json数据上传至数据处理模块。
21.s6数据处理模块接收到json数据后根据网页元素与数据库表对应关系及转换规则进行转换,然后数据入库。
22.所述步骤s1中插件安装时会配置插件安装的浏览器类型是chrome、edge还是360,同时为每一个浏览器插件终端配置一个id,id由装置任务管理器维护生成。插件安装启动后每隔5会发送心跳数据至任务管理模块,心跳数据主要是包括浏览器类型、插件id,告知任务管理模块插件是否正常运行。
23.所述步骤s2中插件在无任务执行时会根据配置间隔时间执行任务轮询,轮询任务时传递插件id。
24.所述步骤s3中读任务配置时需要配置web页面的url,然后配置网页解析模板,是根据网页元素id、网页dom树形结构还是根据网元素属性进行读取,读取哪些元素。同时配置任务与数据库表名对应关系,网页元素与表字段对应关系以及转换规则。勾选浏览器插件终端来确定哪些浏览器插件来执行任务。
25.所述步骤s4中插件根据解析模板对网页进行解析并形成json数据。
26.所述步骤s6中数据处理模块在接收到json数据后根据网页元素与数据库表对应关系及转换规则进行转换,然后数据入库。
27.进一步的,
28.网页数据回写包括以下步骤:
29.s1插件安装,间隔五秒发送心跳至任务管理模块。
30.s2插件轮询等待任务下发启动。
31.s3任务管理模块配置写任务,配置内容为web页面的url,同时配置回写任务表信息,表名以及配置回写上传模板,下发任务。
32.s4插件接收到写任务后,向数据处理模块发送restful请求,请求一条回写数据。
33.s5数据处理模块接收到插件的数据请求后,数据处理模块根据任务配置的表名去数据库查询待处理数据,根据网页元素与数据库表对应关系及转换规则进行转换,然后返回给浏览器插件。
34.s6浏览器插件根据上传模板将数据回写到网页,模拟点击提交操作将数据提交,然后将提交成功结果返回至数据处理模块。
35.s7数据处理模块接收到成功消息后更新此条数据为已处理完成,查询待处理数据,如果待处理数据不为空下发给插件继续s3、s4的步骤直至待处理数据全部回写完成。
36.s8待处理数据全部回写完成后通知任务管理模块此次任务完成。
37.本发明的有益效果是
38.可以通过任务配置,读取和回写模板配置以及数据库表结构与网页元素映射关系
及数据格式转换配置很方便的实现网页数据的自动化获取和回写。
39.通过网页插件来进行数据读写模拟人工操作有效的避免了反爬虫设置。对于信息系统之间的数据互联互通是一种有效的工具。
附图说明
40.图1是本发明的模块结构示意图;
41.图2是网页数据读取流程示意图;
42.图3是网页数据回写流程示意图。
具体实施方式
43.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.本发明主要分为三个模块,浏览器插件模块、任务管理模块、数据处理模块。浏览器插件模块为前端模块,安装部署在浏览器上,主要负责对网页数据读取和回写操作。任务管理模块负责网页读、写任务的配置、下发启动和结束等生命流程管理。数据处理模块负责网页数据与数据库表结构格式转换以及数据入库、出库的操作。
45.1、装置模块
46.1.1浏览器插件模块
47.浏览器插件模块为前端模块,安装部署在浏览器上,主要负责对网页数据读取和回写操作。插件支持chrome、edge、360浏览器系列。模块开放配置项对每一个浏览器插件终端进行配置,终端id、终端浏览器类型,其中终端id从任务管理模块进行申请、终端浏览器类型根据浏览器类型进行配置,配置项为chrome、edge、360。插件每隔5秒钟向任务管理模块进行一次心跳上传,上传数据为终端id,告诉任务管理模块插件正常运行。每一个浏览器插件无读写任务时插件启动轮询,间隔一定单位时间(开放配置项,默认10s)向任务管理模块请求任务,当任务下发启动后停止轮询,开始处理任务。根据任务配置的url打开网页,根据任务类型进行读或写操作。读操作时根据任务下发的解析模板来解析网页数据,然后组成json数据传递至数据处理模块进行数据存储。写操作时根据任务下发信息里的表信息传递表名到数据处理模块去请求待回写数据,然后根据上传模板操作网页html元素对文本框进行赋值,最后模拟点击提交按钮,回写数据。
48.1.2任务管理模块
49.任务管理模块负责维护浏览器插件终端,根据心跳来判断插件终端是否正常运行。
50.任务管理模块同时负责网页读、写任务的配置、下发启动和结束等生命流程管理。
51.读任务配置时需要配置web页面的url,然后配置网页解析模板,是根据网页元素id、网页dom树形结构还是根据网元素属性进行读取,读取哪些元素。同时配置任务与数据库表名对应关系,网页元素与表字段对应关系以及转换规则。勾选浏览器插件终端进行读操作。
52.写任务配置时需要配置web页面的url,然后配置网页数据上传模板,是根据网页元素id、网页dom树形结构还是根据网页元素进行数据回写,回写哪些元素。同时配置任务与数据库表名对应关系,网页元素与表字段对应关系以及转换规则。勾选浏览器终端进行写操作。
53.任务管理模块开放restful接口供浏览器插件模块调用,同时与数据处理模块共享数据库。
54.1.3数据处理模块
55.数据处理模块负责网页数据与数据库表结构格式转换以及数据入库、出库的操作。
56.读任务时,数据处理模块接收插件上传的网页数据,然后根据任务与数据库表名的对应关系得到表名,首先判表是否存在,如果不存在建表,然后将网页数据根据网页元素与表字段的对应关系系及转换规则进行转换,例如男、女转换为1、2,然后进行入库操作。入库成功后通知任务管理模块本次读取任务完成。
57.写任务时,数据处理模块根据任务配置的表名去数据库查询待回写数据,然后根据网页元素与表字段对应关系及转换规则进行数据转换,然后返回给浏览器插件,进行上传,接收到浏览器上传成功的消息后,更新本条数据为处理完成,直至待回写数据都处理完成后通知任务管理模块本次回写任务完成。
58.2.网页数据读取流程
59.2.1插件安装,间隔五秒发送心跳至任务管理模块。
60.2.2插件轮询等待任务下发启动。
61.2.3任务管理模块配置读任务,配置内容为web页面的url,配置网页解析模板,勾选插件终端,下发任务。
62.2.4插件接收到读任务,打开url,加载web页面,页面加载完毕后,插件根据解析模板对网页进行解析,解析成json数据。
63.2.5插件将解析后的json数据上传至数据处理模块。
64.2.6数据处理模块接收到json数据后根据网页元素与数据库表对应关系及转换规则进行转换,然后数据入库。
65.2.7入库完成后数据处理模块通知任务管理模块此次读取任务完成。
66.3.网页数据写流程
67.3.1插件安装,间隔五秒发送心跳至任务管理模块。
68.3.2插件轮询等待任务下发启动。
69.3.3任务管理模块配置写任务,配置内容为web页面的url,同时配置回写任务表信息,表名以及配置回写上传模板,下发任务。
70.3.4插件接收到写任务后,向数据处理模块发送restful请求,请求一条回写数据。
71.3.5数据处理模块接收到插件的数据请求后,数据处理模块根据任务配置的表名去数据库查询待处理数据,根据网页元素与数据库表对应关系及转换规则进行转换,然后返回给浏览器插件。
72.3.6浏览器插件根据上传模板将数据回写到网页,模拟点击提交操作将数据提交,然后将提交成功结果返回至数据处理模块。
73.3.7数据处理模块接收到成功消息后更新此条数据为已处理完成,查询待处理数据,如果待处理数据不为空下发给插件继续3.4的步骤直至待处理数据全部回写完成。
74.3.8待处理数据全部回写完成后通知任务管理模块此次任务完成。
75.以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1