网站自动采集发布系统( 互联网前端渲染网站的动态页面敏感数据的采集系统分析)
优采云 发布时间: 2021-12-25 23:11网站自动采集发布系统(
互联网前端渲染网站的动态页面敏感数据的采集系统分析)
本发明属于互联网信息采集技术领域,具体涉及一种前端渲染网站动态页面敏感数据采集系统。
背景技术:
随着前端Web技术,尤其是javascript技术的飞速发展,出现了react、vue、angular等各种前端框架,网站开发前后端分离的模式也逐渐流行起来。在这种开发模式下,后端不再参与前端页面渲染,而仅作为数据提供者存在。前端页面使用ajax技术调用webapi接口从后端获取数据,然后通过javascript技术操作dom对象实现页面渲染。在这种网站上,传统网络爬虫爬取的页面内容只有基本的dom结构,几乎是空白的,没有浏览器解析执行javascript后动态生成的内容,所以不可能获得真正有用的数据。为了能够在动态页面上采集完整的数据,采集爬虫目前有两个发展方向:模拟真实浏览器的执行过程,尝试解析并执行javascript脚本以获得动态页面的最终呈现;忽略前端渲染,专注于采集
实际数据的webapi接口。
然而,在现有技术中,传统的静态爬虫已经趋于完美。后端渲染的静态网页可以更好地抓取,但对于使用ajax技术的动态页面则无能为力。新的动态爬虫无法一次性获取完整的页面。他们通常需要针对特定网站进行定制化分析和制定采集
策略。它们没有很强的通用性。因此,现有技术主要存在以下缺陷:
1、静态爬虫只能采集后端渲染页面;
2、分析和执行javascript脚本动态爬虫。这类爬虫通常通过嵌入式浏览器模拟人类操作页面。一般需要对网站运行过程进行定制分析进行仿真,不具有通用性。同时,由于对页面内容的完整分析,采集速度会受到影响;
3、 直接抓取数据接口动态爬虫。这类爬虫必须手动分析每个要采集的网站的数据接口api地址,并进行模拟请求。爬虫用户技能和经验要求比较高。困难,不能在其他网站上重复使用。
为此,我们提出了一种前端渲染网站动态页面敏感数据采集系统,以解决现有技术中存在的问题。为克服现有技术的不足,旨在提供一种能够完整采集前端渲染动态页面数据内容的系统。并且可以兼容大多数网站方法和系统。
技术实现要素:
本发明的目的在于提供一种前端渲染网站动态页面敏感数据采集系统,以解决背景技术提出的现有技术工作效率低,浪费大量人力的问题。 .
为实现上述目的,本发明采用以下技术方案:
一种前端渲染网站动态页面敏感数据采集系统,包括信息添加模块、网站采集模块、采集开始模块和采集停止模块。信息添加模块与网站采集模块电连接,信息添加模块与网站采集模块电连接。该模块包括域名单元、端口单元和入口地址单元。网站采集模块包括代理人工采集模块和爬虫自动采集模块。网站采集
模块电性连接采集
激活模块。集合激活模块包括代理。服务器监控模块,
优选地,域名单元与端口单元电连接,端口单元与入口地址单元电连接。
优选地,所述入口地址单元包括登录入口和注销入口,所述登录入口和所述注销入口分别与所述网站采集模块电连接。
优选地,代理人工采集模块和爬虫自动采集模块分别与采集激活模块电连接。
优选地,代理服务器监控模块与自动配置代理设置模块电连接,自动配置代理设置模块与目标网站页面访问模块电连接。
优选地,目标网站页面访问模块包括手动访问录入模块、自动访问录入模块、代理监控模块、原创
代理配置恢复模块、采集过程执行模块、采集数据信息模块和爬虫自动启动模块.
优选地,手动接入模块和自动接入模块分别电连接座席监控模块,座席监控模块电连接原创
座席配置恢复模块,恢复原创
座席配置。与采集过程执行模块和采集数据信息模块连接,采集数据信息模块与自动爬虫模块电连接。
优选地,采集过程执行模块包括用户身份执行模块和特定服务采集启动模块,用户身份执行模块和特定服务采集开始模块分别与停止采集模块电连接。
优选地,爬虫自动启动模块包括模拟浏览器启动模块、节点触发执行模块和页面结构修改模块。模拟浏览器启动模块与节点触发执行模块电连接,节点触发模块与节点触发执行模块电连接。页面结构修改模块电连接。
与现有技术相比,本发明提出的前端渲染网站动态页面敏感数据采集系统具有以下优点:
1、 与静态爬虫和现有的一次性动态爬虫相比,本发明的采集系统对于动态页面内容采集具有更高的数据完整性;本发明不仅会在动态页面中执行初始化脚本,还能获取动态页面初始状态的呈现。进一步的,本发明会模拟用户的操作行为,通过触发网页dom树中各个节点元素的脚本事件和*敏*感*词*事件结果,从而维护和更新原有的dom树结构,并根据广播域的原理首先,继续为新的dom节点触发脚本事件,将页面呈现最大化作为最终完成状态;
2、 与传统的仅使用爬虫自动采集的采集系统相比,本发明的采集系统结合了网络代理技术,设置了代理服务器,监控代理请求和响应,完整的捕获http报文,使得更易于人工参与 在数据采集过程中,可以采集用户登录、二次认证、特定业务表单提交等复杂业务操作的响应结果,弥补爬虫自动采集的不足;
3、 本发明的采集系统不受目标网站类型的限制,不受网站业务复杂程度的限制。是网站动态页面完整数据内容的通用采集系统。
图纸说明
图1为本发明前端渲染网站动态页面敏感数据采集系统框图。
图2是本发明的目标网站页面访问模块系统框图;
图3是本发明代理手册采集的流程图;
图4为本发明爬虫自动采集流程图;
详细说明
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。这里所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
示例 1
本发明提供了一种前端渲染网站动态页面敏感数据采集系统,如图1-2所示,包括信息添加模块、网站采集模块、采集开始模块和采集停止模块、信息添加模块和网站采集模块电连接,信息添加模块包括域名单元、端口单元和入口地址单元。域名单元电性连接端口单元,端口单元电性连接入口地址单元。入口地址单元包括登录入口和登出入口,登出入口与网站采集模块电连接;
网站采集模块包括代理人工采集模块和爬虫自动采集模块。代理人工采集模块和爬虫自动采集模块与采集启动模块电连接;
获取启动模块包括代理服务器监控模块、自动配置代理设置模块和目标网站页面访问模块。代理服务器监控模块与自动配置代理设置模块电连接,自动配置代理设置模块与目标网站页面访问模块电连接。目标网站页面访问模块包括手动访问录入模块、自动访问录入模块、代理监控模块、原创
代理配置恢复模块、采集过程执行模块、采集数据信息模块和爬虫自动启动模块;
手动访问入口模块和自动访问入口模块分别与代理监控模块电连接,代理监控模块与原创
代理配置恢复模块电连接,原创
代理配置恢复模块与采集进程电连接执行模块和采集数据信息模块。,数据采集信息模块与自动爬虫模块电连接;
采集流程执行模块包括用户id执行模块和特定服务采集启动模块。用户身份执行模块和特定服务采集
启动模块与采集
停止模块电连接。爬虫自动启动模块包括模拟浏览器启动模块和节点触发执行模块。以及页面结构修正模块,模拟浏览器启动模块与节点触发执行模块电连接,节点触发模块与页面结构修正模块电连接;
采集开始模块与采集停止模块电连接,采集停止模块与信息添加模块电连接。
示例 2
前端渲染网站动态页面敏感数据采集系统的整体采集流程为:
s1:使用信息添加模块完成以下操作:添加目标网站的基本信息,包括域名、端口、入口地址、是否需要登录,如果需要登录则需要填写登出入口等信息;
s2:通过网站采集模块完成以下操作:添加目标网站采集任务,指定采集方式:代理手动采集或爬虫自动采集,启动采集任务;
s3:通过获取启动模块完成以下操作: 根据任务获取方式,分为以下几种情况:
1) 使用代理进行手动采集时,系统会启动代理服务器进行监控,并自动配置代理设置,并手动使用浏览器软件访问目标网站页面执行采集过程;
2) 使用爬虫自动采集时,如果需要登录网站配置,首先启动代理服务器监控,自动配置代理设置,启动浏览器访问目标网站登录入口,手动填写在有效信息中执行登录操作;登录操作成功后,程序停止代理监控,恢复代理设置,在采集到的消息数据中记录有效身份信息,如授权头、cookie等,然后启动爬虫自动采集系统,添加有效的身份信息身份信息到请求中,并开始自动爬取工作;
s4:停止采集模块的操作如下: s3采集过程完成后,系统停止采集动作。
示例 3
本发明还提供了一种前端渲染网站动态页面敏感数据采集系统的人工采集流程,如图1所示。3、通过目标网站页面访问模块完成以下操作:
s1:通过手动访问打开代理服务器*敏*感*词*的随机可用端口,建立http/https代理服务器,通过自动代理设置自动设置系统代理配置;
s2:通过采集过程的执行,将启动浏览器程序,确认浏览器代理配置使用系统代理,手动访问目标网站页面;此时浏览器的所有请求和响应消息都会经过程序自建的代理服务器,采集成功;
s3:代理监控停止自建代理服务器,可以恢复原来的系统代理配置。此时,程序系统不再捕获请求响应消息。
示例 4
本发明还提供了一种前端渲染网站动态页面敏感数据采集系统的爬虫自动采集流程,如图1所示。4、通过目标网站页面访问模块完成以下操作:
s1:通过自动访问入口开启代理服务器监控,自动配置代理设置;
s2:首先模拟浏览器打开目标网站的入口页面,在其中执行javascript脚本,获取真实环境下的最终页面状态,然后创建当前页面状态的快照;
s3:通过采集
数据信息完成以下操作:遍历步骤s2得到的页面dom树结构,标记所有超链接标签节点,所有按钮标签节点,所有带有点击事件或鼠标悬停事件的dom节点,存储所有这些待处理节点队列中的节点;
s4:通过触发节点执行以下操作:触发dom节点在pending节点队列中的hover或click事件,*敏*感*词*事件触发后的页面行为,如添加、修改、删除dom节点、发起http请求或页面跳转变化;
s5:通过页面结构修改,根据s4步骤中事件触发后的不同行为,进行不同的操作:
1) 如果是新的dom节点,则在s2快照中添加dom节点,对新的dom节点进行s3步分析,将新发现的标记节点加入待处理节点队列;
2) 如果您正在编辑 dom 节点,请创建已编辑 dom 节点的编辑快照。处理完原dom节点中所有标记但未处理的节点后,在s2快照id和name属性中修改原dom节点中所有节点,然后在编辑快照中插入修改后的dom节点,执行s3步骤分析新增dom节点,并将新发现的tag加入待处理节点队列;
3) 如果是删除dom节点,则为要删除的dom节点创建一个删除快照,待原dom节点中所有标记但未处理的节点处理完后,修改其中所有节点的id s2快照中的原创
dom节点和name属性;