CN111666471A - 信息采集方法、装置、计算机设备及存储介质 - Google Patents
信息采集方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111666471A CN111666471A CN202010436553.7A CN202010436553A CN111666471A CN 111666471 A CN111666471 A CN 111666471A CN 202010436553 A CN202010436553 A CN 202010436553A CN 111666471 A CN111666471 A CN 111666471A
- Authority
- CN
- China
- Prior art keywords
- instance
- information
- target
- page
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Abstract
本发明涉及大数据技术领域,公开了一种信息采集方法、装置、计算机设备及存储介质,在响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;响应用户在信息登录页面的第二操作行为,生成操作指令;若操作指令为第一操作指令,则展示第一实例页面,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别,确定满足预设要求的第一目标实例数据,第一目标实例数据包括第一目标实例ID;基于第一目标实例ID构造对应的第一实例地址链接;在接收到采集触发指令之后,对每一第一实例地址链接进行筛选,采集符合预设策略的第一目标实例链接对应的第一目标实例信息;从而提高了信息采集的效率。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种信息采集方法、装置、计算机设备及存储介质。
背景技术
随着大数据技术的广泛应用,信息采集技术也越来越被重视。自动化信息采集是一种有效获取站点信息的技术手段,在新闻报道采集、舆情监控等数据采集场景方面都具有广泛的应用。目前,传统的信息采集方法大部分都是通过自定义请求头来爬取目标站点的信息,或者通过类库来模拟真实浏览器来采集信息。然而,这两种信息采集方法在面对含有强校验的站点时往往显得力不从心,同时当站点的数量较多时会限制用户所使用的浏览器类型,从而导致信息采集的效率不高,给用户的使用带来极大的不便。
发明内容
本发明实施例提供一种信息采集方法、装置、计算机设备及存储介质,以解决信息采集的效率不高问题。
一种信息采集方法,包括:
响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;
响应用户在所述信息登录页面的第二操作行为,生成操作指令;
若所述操作指令为第一操作指令,则展示第一实例页面,遍历所述第一实例页面中的每一候选实例数据,对每一所述候选实例数据进行识别,确定满足预设要求的第一目标实例数据,所述第一目标实例数据包括第一目标实例ID,所述第一操作指令指示用户选取第一数据采集方式;
基于所述第一目标实例ID构造对应的第一实例地址链接;
在接收到采集触发指令之后,对每一所述第一实例地址链接进行筛选,采集与符合预设策略的第一目标实例链接对应的第一目标实例信息。
一种信息采集装置,包括:
第一响应模块,用于响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;
第二响应模块,用于响应用户在所述信息登录页面的第二操作行为,生成操作指令;
第一展示模块,用于在所述操作指令为第一操作指令时,展示第一实例页面,遍历所述第一实例页面中的每一候选实例数据,对每一所述候选实例数据进行识别,确定满足预设要求的第一目标实例数据,所述第一目标实例数据包括第一目标实例ID,所述第一操作指令指示用户选取第一数据采集方式;
第一构造模块,用于基于所述第一目标实例ID构造对应的第一实例地址链接;
第一采集模块,用于在接收到采集触发指令之后,对每一所述第一实例地址链接进行筛选,采集与符合预设策略的第一目标实例链接对应的第一目标实例信息。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息采集方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述信息采集方法。
上述信息采集方法、装置、计算机设备及存储介质,响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;响应用户在信息登录页面的第二操作行为,生成操作指令;若操作指令为第一操作指令,则展示第一实例页面,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别,确定满足预设要求的第一目标实例数据,第一目标实例数据包括第一目标实例ID,第一操作指令指示用户选取第一数据采集方式;基于第一目标实例ID构造对应的第一实例地址链接;在接收到采集触发指令之后,对每一第一实例地址链接进行筛选,采集符合预设策略的第一目标实例链接对应的第一目标实例信息;本方案通过将自动化测试技术引入到自动化信息采集应用中,不但方便用户登入登出系统,且通过遍历所有第一目标实例数据,提取满足要求的实例ID进行保存,再通过实例ID循环构造链接并访问每个第一实例地址链接从而获取实例信息,本方案可用于需人工反复操作的场景,在整个信息采集过程中,内存中将仅维持一个Chrome实例,以便当导航、分析任务发生变化时可以快速响应;从而提高了信息采集的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中信息采集方法的一应用环境示意图;
图2是本发明一实施例中信息采集方法的一示例图;
图3是本发明一实施例中信息采集方法的另一示例图;
图4是本发明一实施例中信息采集方法的另一示例图;
图5是本发明一实施例中信息采集方法的另一示例图;
图6是本发明一实施例中信息采集方法的另一示例图;
图7是本发明一实施例中信息采集装置的一原理框图;
图8是本发明一实施例中信息采集装置的另一原理框图;
图9是本发明一实施例中信息采集装置的另一原理框图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的信息采集方法,该信息采集方法可应用如图1所示的应用环境中。具体地,该信息采集方法应用在信息采集系统中,该信息采集系统包括如图1所示的客户端和服务器,客户端与服务端通过网络进行通信,用于解决信息采集的效率不高问题。其中,客户端又称为用户端,是指与服务端相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种信息采集方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面。
其中,第一操作行为是指用户在客户端中所触发的进行账号登录的行为。具体地,当用户在客户端执行第一操作行为时,服务端即会响应该第一操作行为,从预设的账号信息列表中选取目标账号进行登录,即第一操作行为为一个触发行为,当用户在客户端执行第一操作行为之后,该第一操作行为触发服务端从预设的账号信息列表中选取目标账号进行登录,自动化完成输入账号密码的登录操作,并在客户端展示信息登录页面。优选地,在本实施例中,在客户端的浏览器实例中展示信息登录页面。其中,目标账号是指从账号信息列表中选取的进行登录的账号。服务端从预设的账号信息列表中选取目标账号进行登录,自动化完成输入账号密码的登录操作可代替用户手动输入账号密码的登录操作。信息登录页面是指进行账号登录后,访问信息采集的主页时所生成的页面。
在一具体实施例中,账号信息列表中预先存储有若干候选账号,在用户执行第一操作行为之后,先通过Selenium的Driver(驱动程序)启动一个浏览器实例导航到云登录界面,然后自动从账号信息列表中选取任意一个候选账号作为的目标账号进行登录,并在客户端的浏览器实例中显示信息登录页面。在一具体实施例中,账号信息列表中所包含的候选账号包括主账号和子账号。服务端优选从账号信息列表中选取主账号作为的目标账号进行登录。其中,Selenium是一个用于Web应用程序测试的工具。
S20:响应用户在信息登录页面的第二操作行为,生成操作指令。
其中,第二操作行为为对信息采集的方式进行选取的行为。第二操作行为包括但不限于用户在信息登录页面的滑动、点击或长按等。操作指令指对信息采集的方式进行选取后所生成的指令。在一具体应用场景中,信息登录页面上设有对信息采集的方式进行选取的多个不同选项。例如:信息采集方式包括有第一信息采集方式、第二信息采集方式和第三信息采集方式等。具体地,当用户在信息登录页面的信息采集方式的选项上执行第二操作行为之后,服务端会响应于用户的第二操作行为,触发生成对应的操作指令。第二操作行为实际为一个触发行为,当用户在信息登录页面执行选择信息采集方式的第二操作行为之后,该第二操作行为会触发服务端生成对应的操作指令。可以理解地,若用户所选择的信息采集方式不同,则所对应生成的操作指令也不同。例如:若用户选择“第一信息采集方式”,则生成第一操作指令;若选择“第二信息采集方式”,则生成第二操作指令。
S30:若操作指令为第一操作指令,则展示第一实例页面,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别,确定满足预设要求的第一目标实例数据,第一目标实例数据包括第一目标实例ID,第一操作指令指示用户选取第一数据采集方式。
其中,第一操作指令指示用户选取第一数据采集方式。第一数据采集方式优选为ECS爬取方式。具体地,若操作指令为第一操作指令,则通过Driver(驱动程序)将页面导航至第一实例页面,待第一实例页面的页面DOM加载完毕后,将该第一实例页面在客户端的浏览器实例中进行展示。在一具体实施例中,第一实例页面上分布有若干候选实例数据。具体地,每一候选实例数据包括有实例ID、IP地址、可用区、状态、镜像、创建人和创建时间等。进一步地,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别。在本实施例中,对每一候选实例数据进行识别主要通过XPATH9(XML路径语言)或CssSelector(CSS选择器)定位每一候选实例数据中的实例ID,然后对每一候选实例数据中的实例ID进行识别,将实例ID满足预设要求的候选实例数据确定为第一目标实例数据。其中。实例ID为每一候选实例数据的唯一编号,主要由数字和字母组成。预设要求是指预先设定的用于评估候选实例数据是否满足要求的策略。具体地,预设要求为实例ID中存在统一预设前缀。预设前缀为预先设定的ID前缀信息。即将存在统一预设前缀的实例ID所对应的候选实例数据确定为第一目标实例数据。例如:若预设前缀为LNP,则将前缀为LNP的实例ID所对应的候选实例数据确定为第一目标实例数据。第一目标实例数据包括第一目标实例ID。第一目标实例ID为第一目标实例数据所对应的实例ID。
优选地,在遍历第一实例页面中的每一候选实例数据之前,为了方便后续连接进行信息采集,服务端在后台会自动枚举Chrome的所有调试端口。由于Chrome是多进程的,即可能存在每开一个Chrome标签系统就多出一个chrome.exe的进程的情况。由于通过系统函数也就是Process类访问进程信息是按照进程名过滤的,因此获取的进程列表中可能存在多个。因此,在本实施例中,对Chrome调试端口进行筛选,返回满足条件的Chrome调试端口。其中,满足条件是指Chrome调试端口进程的启动参数中包含--remote-debugging-port选项且端口号大于12151。
S40:基于第一目标实例ID构造对应的第一实例地址链接。
由于ECS(云服务器)资源都有共有的地址前缀,因此,当确定了第一目标实例ID后,根据第一目标实例ID即可构造对应的第一实例地址链接。具体地,基于第一目标实例ID,可采用构造函数构造第一实例地址链接。例如,若第一目标实例ID为为LNPyoV7twx,则采用构造函数构造后的第一实例地址链接为https://yun.city.pingan.com/console/ecs/instance/Instance-LNPyoV7twx。进一步地,在构造生成第一实例地址链接之后,会将每一个第一实例地址链接存储在第一链接列表中。其中,第一链接列表为预先设定的用于存储第一实例地址链接的列表。
S50:在接收到采集触发指令之后,对每一第一实例地址链接进行筛选,采集符合预设策略的第一目标实例链接对应的第一目标实例信息。
其中,采集触发指令是指触发对实例信息进行采集的指令。第一目标实例信息是指第一目标实例链接所包含的页面信息。具体地,当信息采集事件触发后,即当服务端接收到对实例信息进行采集的触发指令之后,会从第一链接列表列表中取出第一目标实例链接依次访问,并对每一第一实例地址链接进行筛选,获取符合预设策略的第一实例地址链接所对应的第一目标实例信息。其中,预设策略指预先设定的用于评估第一实例地址链接是否可进行信息采集的策略。在本实施例中,预设策略为通过判断第一实例地址链接所对应的云主机类型是否满足要求,将云主机类型满足预设要求的第一实例地址链接,确定为符合预设策略的所述第一实例地址链接。进一步地,判断第一实例地址链接所对应的云主机类型是否满足要求可以通过将第一实例地址链接所对应的云主机类型与预先设定的符合要求的云主机类型进行比较,若第一实例地址链接所对应的云主机类型在符合要求的云主机类型中,则判断该第一实例地址链接所对应的终端类型满足要求;若第一实例地址链接所对应的云主机类型不在符合要求的终端类型中,则判断该第一实例地址链接所对应的终端类型不满足要求。其中,云主机类型是指第一实例地址链接所对应的ECS(云服务器)的主机类型。
在本实施例中,响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;响应用户在信息登录页面的第二操作行为,生成操作指令;若操作指令为第一操作指令,则展示第一实例页面,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别,确定满足预设要求的第一目标实例数据,第一目标实例数据包括第一目标实例ID,第一操作指令指示用户选取第一数据采集方式;基于第一目标实例ID构造对应的第一实例地址链接;在接收到采集触发指令之后,对每一第一实例地址链接进行筛选,采集符合预设策略的第一目标实例链接对应的第一目标实例信息;本方案通过将自动化测试技术引入到自动化信息采集应用中,不但方便用户登入登出系统,且通过遍历所有第一目标实例数据,提取满足要求的实例ID进行保存,再通过实例ID循环构造链接并访问每个第一实例地址链接从而获取实例信息,本方案可用于需人工反复操作的场景,在整个信息采集过程中,内存中将仅维持一个Chrome实例,以便当导航、分析任务发生变化时可以快速响应;从而提高了信息采集的效率。
在一实施例中,如图4所示,在响应用户在信息登录页面的第二操作行为,生成操作指令之后,该信息采集方法,还具体包括如下步骤:
S21:若操作指令为第二操作指令,则展示第二实例页面,探测第二实例页面支持的候选关系型数据库集,并从候选关系型数据库集中任意选取一个目标关系型数据库,其中,第二操作指令指示用户选取第二数据采集方式。
其中,第二操作指令指示用户选取第二数据采集方式。第二数据采集方式优选为DB爬取方式。具体地,若操作指令为第二操作指令,则通过Driver(驱动程序)将页面导航至第二实例页面,将该第二实例页面在客户端界面进行展示。第二实例页面优选为DB实例列表页面。在一具体实施例中,第二实例页面上设有“获取可用DB”按键,当用户点击该“获取可用DB”按键之后,可通过判断页面元素是否包含title为RDS-PostgreSQL的div标签和title为RDS-MySQL的标签,从而探测该第二实例页面支持的候选关系型数据库集。由于候选关系型数据库集中包括有多种关系型数据库种类。例如:关系型数据库包括有MySQL、PostgreSQL、Microsoft Access等多种类型。因此,在本步骤中,在进行信息采集前需从候选关系型数据库集中任意选取一个目标关系型数据库执行信息采集。
S22:响应数据获取请求,从目标关系型数据库中获取第二目标实例数据,每一第二目标实例数据包括第二目标实例ID。
其中,数据获取请求是指触发获取实例数据的请求。可选地,数据获取请求可通过用户在第二实例页面的“数据获取”按钮上执行点击操作。或者通过在命令行输入相应的控制指令触发生成。具体地,在从候选关系型数据库集中任意选取一个目标关系型数据库之后,服务端的Driver(驱动程序)通过利用调试端口获取客户端发送的数据获取请求,并从目标关系型数据库中获取第二目标实例数据,每一第二目标实例数据包括第二目标实例ID。可以理解地,不同类型的目标关系型数据库里面所存储的第二目标实例数据的类型也不同。例如:MySQL数据库中存储的第二目标实例数据为MySQL实例数据。具体地,第二目标实例数据包括有:第二目标实例ID、IP地址、可用区、状态、镜像、创建人和创建时间等。其中。第二目标实例ID为每一候选实例数据的唯一编号,主要由数字和字母组成。
S23:基于第二目标实例ID构造对应的第二实例地址链接。
由于DB实例链接都有共有的地址前缀,因此,当确定了第二目标实例ID后,根据第二目标实例ID即可构造对应的第二实例地址链接。具体地,基于第二目标实例ID,可采用构造函数构造第二实例地址链接。例如,若第二目标实例ID为bxwK6mab3m,则采用构造函数构造后的第二实例地址链接为https://yun.city.pingan.com/console/rds/mysql/33081/MySQLInstance-bxwK6mab3m/normal。进一步地,在构造生成第二实例地址链接之后,会将每一第二实例地址链接存储在第二链接列表中。其中,第二链接列表为预先设定的用于存储第二实例地址链接的列表。
S24:在接收到信息采集指令之后,采集每一第二目标实例链接对应的第二目标实例信息。
其中,信息采集指令是指触发对实例信息进行采集的指令。第二目标实例信息是指第二目标实例链接所包含的页面信息。具体地,当信息采集事件触发后,即当服务端接收到对实例信息进行采集的触发指令之后,会从第二链接列表列表中取出第二目标实例链接链接依次访问,并采集每一第二实例地址链接所对应的第二目标实例信息。
在本实施例中,若操作指令为第二操作指令,则展示第二实例页面,探测第二实例页面支持的候选关系型数据库集,并从候选关系型数据库集中任意选取一个目标关系型数据库,其中,第二操作指令指示用户选取第二数据采集方式;响应数据获取请求,从目标关系型数据库中获取第二目标实例数据,每一第二目标实例数据包括第二目标实例ID;基于第二目标实例ID构造对应的第二实例地址链接;在接收到信息采集指令之后,采集每一第二目标实例链接对应的第二目标实例信息;本方案可结合实际场景采用不同的信息采集方法进行采集。在本实施例中,通过遍历所有第二目标实例数据,提取满足要求的实例ID进行保存,然后再通过实例ID循环构造第二实例地址链接,并访问每个第二实例地址链接从而获取实例信息,在整个数据采集过程中,内存中将仅维持一个Chrome实例,以便当导航、分析任务发生变化时可以快速响应;从而进一步提高了信息采集的效率。
在一实施例中,如图4所示,在响应用户的第一操作行为之前,该信息采集方法,还具体包括如下步骤:
S01:获取系统认证请求,系统认证请求包括账号信息。
其中,系统认证请求是指用于触发账号密码进行录入的请求。具体地,系统认证请求可通过用户在客户端界面的“账号密码输入框”中输入账号名和密码、并点击“确认”按钮后触发生成。系统认证请求包括账号信息。具体地,账号信息包括账号类型(主账号或子账号)、账号名和密码。另外地,服务端也可以直接从账号密码管理器中选取账号信息。可选地。在本实施例中,可支持子账号的录入,亦可同时录入多个账号信息。在同时录入了多个账号信息的情况下,可自定义设置哪个账号信息为主账号信息或者子账号信息。
S02:对账号信息进行加载生成目标文本。
具体地,由于获取的账号信息均存储于内存变量中,因此,在本实施例中,将账号信息进一步加工导出到指定格式的文本中。在本实施例中,指定格式的文本格式可以为TXT或XLSX两种格式。具体地,根据提供的TXT和XLSX两种格式的预设文本,在获取到信息录入请求所携带的账号信息之后,对该账号信息进行加载,并将该账号信息中的账号名和对应的密码、以键值对的方式导入预先文本中,从而生成目标文本。其中,TXT格式需按照账号名、密码的格式逐行写入,XLSX格式则借助相关类库来生成表格。另外地,在一具体实施例中,服务端在获取账号信息的同时还会获取ECS(云服务器)的IP和主机名,并且ECS(云服务器)的IP和主机名也均存储于内存变量中。因此,在对账号信息进行加载,以将账号信息中的账号名和对应的密码加工导出到指定格式的文本中的同时,也需将对应的ECS(云服务器)的IP和主机名进行加载,以导出到指定格式的文本中。
进一步地,在将账号信息导入预设文本,生成目标文本之后,为了保证目标文本中的账号信息的实时更新,还需对目标文本进行及时刷新,从而提高了目标文本中存储的账号信息的准确性。
S03:对目标文本进行解析,生成账号信息列表进行展示。
其中,账号信息列表是指用于对账号信息进行展示的列表。具体地,为了便于用户直观准确地获知录入的账号信息,在生成目标文本之后,还需采用JSON格式解析功能对目标文本中的账号信息进行解析,生成账号信息列表,并将该账号信息列表展示在客户端界面。优选地,在本实施例中,在对目标文本进行解析,生成账号信息列表之后,将账号信息列表按列展示在客户端界面的账号密码管理器中,当打开账号密码管理器时可以以分列形式看到这些账号并明确他们是主账号还是子账号。同时,由于账号信息列表中的主账号和子账号的登录页面位于不同地址,因此,账号信息列表中存储的账号也对主账号和子账号有所区分,具体的区分方法是根据JSON中存储的账号相关的标志位。
在本实施例中,获取系统认证信息,系统认证信息包括账号密码信息;对账号密码信息进行加载生成目标文本;对目标文本进行解析,生成账号信息列表进行展示;本实施例允许用户输入自定义账号密码,且支持多个不同子账号的录入,另外通过使用账号密码管理器管理所有的账号密码;从而提高了用户登入登出系统的便捷性。
在一实施例中,如图5所示,在从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面之后,以及在响应用户在所述信息登录页面的第二操作行为之前,该信息采集方法,还具体包括如下步骤:
S11:若信息登录页面中存在滑块验证码,则获取滑块验证码中滑动按钮的位置信息和验证码区域的位置信息,验证码区域的位置信息包括滑块的位置信息以及滑块缺口的位置信息。
其中,验证码是一种区分用户是计算机还是人的公共全自动程序。滑块验证码是验证码中的一种,以其操作简单、用户体验好、安全性较强等特点,得到广泛采用。滑动按钮和验证码区域都是滑动验证码的一部分,其中滑动按钮是指滑动验证码中用于滑动的部分。验证码区域是指验证码中验证解答的图像所处的位置,验证码区域包含了滑块以及滑块缺口,其中滑块与滑动按钮对应,而滑块与滑块缺口的形状一般相同,可以通过滑动该滑动按钮来移动滑块,将滑块移动至滑块缺口位置即可完成滑动验证码的验证。
具体地,可以通过滑块验证码分析器获取滑块验证码中滑动按钮的位置信息以及验证码区域的位置信息,在滑块验证码分析器的实现中,主要采用基于图像处理的灰度渐进方法,来对页面图像中的特定位置进行识别,从而在页面图像中提取滑动按钮的位置信息,以及验证码区域的位置信息。在其中一个实施例中,可以在页面图像上建立相应的坐标系,而后通过四维向量(xmin,ymin,xmax,ymax)记录滑动按钮的位置以及验证码区域的位置。其中xmin表示坐标系中滑动按钮或验证码区域的横坐标最小值,ymin表示坐标系中滑动按钮或验证码区域的纵坐标最小值,xmax表示坐标系中滑动按钮或验证码区域的横坐标最大值,ymax表示坐标系中滑动按钮或验证码区域的纵坐标最大值。得到此值后即可确定为满足滑块落在阴影上而移动滑块所需的最佳位移。
S12:根据滑块的位置信息和滑块缺口的位置信息确定滑块偏移量。
其中,滑块偏移量是指滑块移动的距离,即滑块与滑块缺口之间的像素距离,可以通过将滑块在滑动条中移动滑块偏移量对应的距离,来进行滑动验证。具体地,可以通过建立坐标系,而后通过坐标系中滑块中心的位置信息以及滑块缺口中心的位置信息,来判断滑块需要滑动的距离。
另外地,对于只包含背景和阴影的滑块验证码,还可以通过对验证码区域的背景部分、滑块以及滑块缺口进行取色,取色结果为RGB值。然后通过数字方法,利用RGB的Red分量计算满足条件的偏移值,该偏移值即为滑块进入滑块缺口所需的滑块偏移量。例如:滑块缺口的坐标为(220,15)--》取色(255,205,204,203),验证码区域的坐标为(47,15)--》取色(255,245,245,245),那么Red分量小于等于205时即可以认为该滑块位于对应的滑块缺口位置中。
S13:根据滑动偏移量控制滑动按钮滑动,进行滑动验证。
具体地,可以通过控制登录信息页面上的滑动按钮按照计算获得的滑动偏移量进行移动,使得与滑动按钮对应的滑块可以移动至滑块缺口对应位置,进行滑动验证。
在本实施例中,若信息登录页面中存在滑块验证码,则获取滑块验证码中滑动按钮的位置信息和验证码区域的位置信息,验证码区域的位置信息包括滑块的位置信息以及滑块缺口的位置信息;根据滑块的位置信息和滑块缺口的位置信息确定滑块偏移量;根据滑动偏移量控制滑动按钮滑动,进行滑动验证;本实施例主要通过采用滑块验证码分析器进行滑块验证码验证,解决验证过程中滑块验证需要人工处理的问题,更好的帮助工具实现真正的自动化信息采集。
在一实施例中,如图6所示,对每一第一实例地址链接进行筛选,获取满足预设策略的第一目标实例链接对应的第一目标实例信息,具体包括如下步骤:
S501:遍历每一第一实例地址链接,判断每一第一实例地址链接所对应的云主机类型。
S502:若第一实例地址链接所对应的云主机类型为第一类型,则将第一实例地址链接确定为第一目标实例链接。
具体地,在接收到信息采集的触发指令之后,遍历每一第一目标实例链接,判断每一第一目标实例链接所对应的云主机类型。其中,云主机类型是指第一实例地址链接所对应的ECS(云服务器)的主机类型。具体地,若第一实例地址链接所对应的云主机类型为第一类型,则将第一实例地址链接确定为第一目标实例链接。其中。第一类型指可进行信息采集的ECS(云服务器)的主机类型。在一具体实施例中,已预先设定好可进行信息采集的第一类型。例如:第一类型可以为公共云或混合云等。用户可根据实际情况自定义设定第一类型。具体地,在获取到第一目标实例链接所对应的云主机类型之后,可以通过将第一目标实例链接所对应的云主机类型与预先采集的第一类型进行比较,若第一目标实例链接所对应的云主机类型与预先采集的第一类型相同,则将第一实例地址链接所对应的云主机类型确定为第一类型,并将该第一实例地址链接确定为第一目标实例链接。
优选地,在判断得到第一目标实例链接所对应的云主机类型为第一类型之后,再判断该第一目标实例链接所在的访问页面中是否存在经典密码按钮,其中,经典密码按钮为“ON/OFF开关式“的按钮;其通常”位于label标签中。若访问页面中如果存在经典密码按钮,则点击待密码显示后采集第一目标实例链接对应的第一目标实例信息。
S503:采集第一目标实例链接对应的第一目标实例信息,并将第一目标实例信息存储至预设文本中。
具体地,其中,预设文本指用于存储第一目标实例信息的文本。预设文本可以为TXT纯文本或者Excel表格。具体地,在确定了第一目标实例链接之后,采集第一目标实例链接对应的第一目标实例信息。进一步地,在获取到第一目标实例信息之后,将第一目标实例信息存储至预设文本中,以便导入其他平台。
在本实施例中,遍历每一第一实例地址链接,判断每一第一实例地址链接所对应的云主机类型;若第一实例地址链接所对应的云主机类型为第一类型,则将第一实例地址链接确定为第一目标实例链接;采集第一目标实例链接对应的第一目标实例信息,并将第一目标实例信息存储至预设文本中;在信息正式采集阶段,通过对第一目标实例链接进行筛选,从而保证了采集的信息的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种信息采集装置,该信息采集装置与上述实施例中信息采集方法一一对应。如图7所示,该信息采集装置包括第一响应模块10、第二响应模块20、第一展示模块30、第一构造模块40和第一采集模块50。各功能模块详细说明如下:
第一响应模块10,用于响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;
第二响应模块20,用于响应用户在信息登录页面的第二操作行为,生成操作指令;
第一展示模块30,用于在操作指令为第一操作指令时,展示第一实例页面,遍历第一实例页面中的每一候选实例数据,对每一候选实例数据进行识别,确定满足预设要求的第一目标实例数据,第一目标实例数据包括第一目标实例ID,第一操作指令指示用户选取第一数据采集方式;
第一构造模块40,用于基于第一目标实例ID构造对应的第一实例地址链接;
第一采集模块50,用于在接收到采集触发指令之后,对每一第一实例地址链接进行筛选,采集与符合预设策略的第一目标实例链接对应的第一目标实例信息。
优选地,如图8所示,该信息采集装置还包括:
第二展示模块21,用于在操作指令为第二操作指令时,展示第二实例页面,探测第二实例页面支持的候选关系型数据库集,并从候选关系型数据库集中任意选取一个目标关系型数据库,其中,第二操作指令指示用户选取第二数据采集方式;
获取模块22,用于响应数据获取请求,从目标关系型数据库中获取第二目标实例数据,每一第二目标实例数据包括第二目标实例ID;
第二构造模块23,用于基于第二目标实例ID构造对应的第二实例地址链接;
第二采集模块24,用于在接收到信息采集指令之后,采集每一第二目标实例链接对应的第二目标实例信息。
优选地,如图9所示,该信息采集装置还包括:
第二获取模块01,用于获取系统认证请求,系统认证请求包括账号信息;
加载模块02,用于对账号信息进行加载生成目标文本;
解析模块03,用于对目标文本进行解析,生成账号信息列表进行展示。
优选地,该信息采集装置还包括:
第三获取模块,用于在信息登录页面中存在滑块验证码时,获取滑块验证码中滑动按钮的位置信息和验证码区域的位置信息,验证码区域的位置信息包括滑块的位置信息以及滑块缺口的位置信息;
确定模块,用于根据滑块的位置信息和滑块缺口的位置信息确定滑块偏移量;
滑动验证模块,用于根据滑动偏移量控制滑动按钮滑动,进行滑动验证。
优选地,该第一采集模块50包括:
判断单元,用于遍历每一第一实例地址链接,判断每一第一实例地址链接所对应的云主机类型;
确定单元,用于在第一实例地址链接所对应的云主机类型为第一类型时,将第一实例地址链接确定为第一目标实例链接;
采集单元,用于采集第一目标实例链接对应的第一目标实例信息,并将第一目标实例信息存储至预设文本中。
关于信息采集装置的具体限定可以参见上文中对于信息采集方法的限定,在此不再赘述。上述信息采集装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中的信息采集方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种信息采集方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的信息采集方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的信息采集方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种信息采集方法,其特征在于,包括:
响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;
响应用户在所述信息登录页面的第二操作行为,生成操作指令;
若所述操作指令为第一操作指令,则展示第一实例页面,遍历所述第一实例页面中的每一候选实例数据,对每一所述候选实例数据进行识别,确定满足预设要求的第一目标实例数据,所述第一目标实例数据包括第一目标实例ID,所述第一操作指令指示用户选取第一数据采集方式;
基于所述第一目标实例ID构造对应的第一实例地址链接;
在接收到采集触发指令之后,对每一所述第一实例地址链接进行筛选,采集与符合预设策略的第一目标实例链接对应的第一目标实例信息。
2.如权利要求1所述的信息采集方法,其特征在于,所述响应用户在所述信息登录页面的第二操作行为,生成操作指令之后,所述信息采集方法还包括:
若所述操作指令为第二操作指令,则展示第二实例页面,探测所述第二实例页面支持的候选关系型数据库集,并从所述候选关系型数据库集中任意选取一个目标关系型数据库,其中,第二操作指令指示用户选取第二数据采集方式;
响应数据获取请求,从所述目标关系型数据库中获取第二目标实例数据,每一所述第二目标实例数据包括第二目标实例ID;
基于所述第二目标实例ID构造对应的第二实例地址链接;
在接收到信息采集指令之后,采集每一所述第二目标实例链接对应的第二目标实例信息。
3.如权利要求1所述的信息采集方法,其特征在于,所述响应用户的第一操作行为之前,所述信息采集方法还包括:
获取系统认证请求,所述系统认证请求包括账号信息;
对所述账号信息进行加载生成目标文本;
对所述目标文本进行解析,生成账号信息列表进行展示。
4.如权利要求1所述的信息采集方法,其特征在于,所述从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面之后,以及响应用户在所述信息登录页面的第二操作行为之前,所述信息采集方法还包括:
若所述信息登录页面中存在滑块验证码,则获取所述滑块验证码中滑动按钮的位置信息和验证码区域的位置信息,所述验证码区域的位置信息包括滑块的位置信息以及滑块缺口的位置信息;
根据所述滑块的位置信息和所述滑块缺口的位置信息确定滑块偏移量;
根据所述滑动偏移量控制所述滑动按钮滑动,进行滑动验证。
5.如权利要求1所述的信息采集方法,其特征在于,所述对每一所述第一实例地址链接进行筛选,获取满足预设策略的第一目标实例链接对应的第一目标实例信息,包括:
遍历每一所述第一实例地址链接,判断每一所述第一实例地址链接所对应的云主机类型;
若所述第一实例地址链接所对应的所述云主机类型为第一类型,则将所述第一实例地址链接确定为第一目标实例链接;
采集所述第一目标实例链接对应的第一目标实例信息,并将所述第一目标实例信息存储至预设文本中。
6.一种信息采集装置,其特征在于,包括:
第一响应模块,用于响应用户的第一操作行为,从预设的账号信息列表中选取目标账号进行登录,展示信息登录页面;
第二响应模块,用于响应用户在所述信息登录页面的第二操作行为,生成操作指令;
第一展示模块,用于在所述操作指令为第一操作指令时,展示第一实例页面,遍历所述第一实例页面中的每一候选实例数据,对每一所述候选实例数据进行识别,确定满足预设要求的第一目标实例数据,所述第一目标实例数据包括第一目标实例ID,所述第一操作指令指示用户选取第一数据采集方式;
第一构造模块,用于基于所述第一目标实例ID构造对应的第一实例地址链接;
第一采集模块,用于在接收到采集触发指令之后,对每一所述第一实例地址链接进行筛选,采集与符合预设策略的第一目标实例链接对应的第一目标实例信息。
7.如权利要求6所述的信息采集装置,其特征在于,所述信息采集装置还包括:
第二展示模块,用于在所述操作指令为第二操作指令时,展示第二实例页面,探测所述第二实例页面支持的候选关系型数据库集,并从所述候选关系型数据库集中任意选取一个目标关系型数据库,其中,第二操作指令指示用户选取第二数据采集方式;
获取模块,用于响应数据获取请求,从所述目标关系型数据库中获取第二目标实例数据,每一所述第二目标实例数据包括第二目标实例ID;
第二构造模块,用于基于所述第二目标实例ID构造对应的第二实例地址链接;
第二采集模块,用于在接收到信息采集指令之后,采集每一所述第二目标实例链接对应的第二目标实例信息。
8.如权利要求6所述的信息采集装置,其特征在于,所述信息采集装置还包括:
第二获取模块,用于获取系统认证请求,所述系统认证请求包括账号信息;
加载模块,用于对所述账号信息进行加载生成目标文本;
解析模块,用于对所述目标文本进行解析,生成账号信息列表进行展示。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述信息采集方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述信息采集方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436553.7A CN111666471A (zh) | 2020-05-21 | 2020-05-21 | 信息采集方法、装置、计算机设备及存储介质 |
PCT/CN2020/135347 WO2021121130A1 (zh) | 2020-05-21 | 2020-12-10 | 信息采集方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436553.7A CN111666471A (zh) | 2020-05-21 | 2020-05-21 | 信息采集方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111666471A true CN111666471A (zh) | 2020-09-15 |
Family
ID=72384177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010436553.7A Pending CN111666471A (zh) | 2020-05-21 | 2020-05-21 | 信息采集方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111666471A (zh) |
WO (1) | WO2021121130A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121130A1 (zh) * | 2020-05-21 | 2021-06-24 | 平安科技(深圳)有限公司 | 信息采集方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120143844A1 (en) * | 2010-12-02 | 2012-06-07 | Microsoft Corporation | Multi-level coverage for crawling selection |
CN109740041B (zh) * | 2018-10-29 | 2023-06-09 | 深圳壹账通智能科技有限公司 | 网页爬取方法、装置、存储介质和计算机设备 |
CN109471966B (zh) * | 2018-10-30 | 2022-07-15 | 中译语通科技股份有限公司 | 一种自动获取目标数据源的方法及系统 |
CN110020062B (zh) * | 2019-04-12 | 2021-09-24 | 北京邮电大学 | 一种可定制的网络爬虫方法及系统 |
CN110457203A (zh) * | 2019-07-04 | 2019-11-15 | 深圳壹账通智能科技有限公司 | 爬虫业务测试方法、装置、计算机设备和存储介质 |
CN111666471A (zh) * | 2020-05-21 | 2020-09-15 | 平安科技(深圳)有限公司 | 信息采集方法、装置、计算机设备及存储介质 |
-
2020
- 2020-05-21 CN CN202010436553.7A patent/CN111666471A/zh active Pending
- 2020-12-10 WO PCT/CN2020/135347 patent/WO2021121130A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021121130A1 (zh) * | 2020-05-21 | 2021-06-24 | 平安科技(深圳)有限公司 | 信息采集方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021121130A1 (zh) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111209565B (zh) | 水平越权漏洞检测方法、设备及计算机可读存储介质 | |
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
US20210081309A1 (en) | Mapping interactive elements in an application user interface | |
CN113515453B (zh) | 网页测试系统 | |
CN111768040A (zh) | 模型解释方法、装置、设备及可读存储介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN110677506B (zh) | 网络访问方法、装置、计算机设备及存储介质 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN111666471A (zh) | 信息采集方法、装置、计算机设备及存储介质 | |
CN112433935A (zh) | 测试方法、装置、电子设备及存储介质 | |
US20210271588A1 (en) | Rendering gui test object of application under test to reflect test information | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN109684844B (zh) | 一种webshell检测方法、装置以及计算设备、计算机可读存储介质 | |
CN112817816B (zh) | 埋点处理方法、装置、计算机设备和存储介质 | |
CN113656291B (zh) | 软件脚本引擎动态调用方法 | |
CN110324410A (zh) | 发起网页请求的方法、装置、计算机设备和存储介质 | |
CN115470426A (zh) | 浏览器内核确定方法、装置、计算机设备和存储介质 | |
CN114416555A (zh) | 一种页面性能的测试方法、装置、介质及设备 | |
CN112527606A (zh) | 数据流程分析方法、装置、计算机设备及存储介质 | |
US10545858B2 (en) | Method for testing a graphical interface and corresponding test system | |
CN110704483A (zh) | 用户路由流程定位方法、设备、存储介质及装置 | |
CN117331758B (zh) | 靶标虚拟机镜像的校验方法、装置、电子设备及存储介质 | |
WO2024067039A1 (zh) | 应用程序的拨测方法、电子设备、计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |