一种即时通讯软件信息采集方法、装置、系统及存储介质与流程

文档序号:18040040发布日期:2019-06-28 23:53阅读:205来源:国知局
一种即时通讯软件信息采集方法、装置、系统及存储介质与流程

本发明实施例涉及数据处理技术领域,具体涉及一种即时通讯软件信息采集方法、装置、系统及存储介质。



背景技术:

随着科学技术的不断发展,电子软件形式也在多种多样化。尤其是即时通讯软件的诞生,使人们之间的沟通变得更加方便快捷,拉近了人们之间的相互距离。但是即时通讯软件为人们带来便利的同时,也有一些不法分子利用即时通讯软件做一些非法勾当。例如通过即时通讯软件广泛传播不良信息。为此,监管部门需要及时获取用户使用即时通讯软件时的聊天内容,对聊天内容进行监控,防止不良信息的广泛传播。

传统获取每一个用户在即时通讯软件中的聊天内容的方式包括由人工采集。耗时耗力,人工成本大,而且工作效率低下。此外,聊天信息也不能及时被获取到,甚至会存在遗漏。这对于监管部门对于大量用户的聊天内容的监管十分不利。

那么,如何设计一种自动化稳定的方法即时可靠的获取用户通过即时通讯软件传播的聊天内容成为本申请亟待解决的技术问题。



技术实现要素:

为此,本发明实施例提供一种即时通讯软件信息采集方法、装置、系统及存储介质,以解决现有技术中由于传统获取用户通过即时通讯软件传播的聊天内容的方式耗时耗力,人工成本大,工作效率低,获取消息不可靠的问题。

第一方面,本发明实施例提供了一种即时通讯软件信息采集方法,该方法应用于分布式计算机集群中,方法由分布式计算机集群中的第一计算机执行,第一计算机为分布式计算机集群中的任一台计算机,该方法包括:

当接收到采集任务指令后,获取本机的ip地址;

根据本机的ip地址,从预建立的数据库中调取采集任务,其中采集任务中至少包括:即时通讯软件名称、用户账号、登录密码以及与待查询的目标聊天对象对应的标识信息;

根据即时通讯软件名称、用户账号、登录密码,登录即时通讯软件;

根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息。

本发明实施例的特征还在于,当接收到采集任务指令后,获取本机的ip地址,具体包括:

当接收到采集任务指令后,利用resolve函数获取本机ip地址。

本发明实施例的特征还在于,聊天信息包括:目标聊天对象基本信息,以及用户与目标聊天对象之间的聊天内容;根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出目标聊天对象基本信息,具体包括:

利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第一预设数组元素;

根据第一预设数组元素,获取目标聊天对象的详细信息。

本发明实施例的特征还在于,聊天信息包括:目标聊天对象基本信息,以及用户与目标聊天对象之间的聊天内容;根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出用户与目标聊天对象之间的聊天内容,具体包括:

利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第二预设数组元素,第二预设数组元素用于记录“消息记录”的按钮的位置信息;

利用findfirst函数,根据第二预设元素、检索属性当前值参数automationelement.nameproperty和预设关键字定位消息记录按钮,其中automationelement.nameproperty为外部输入的参数;

触发消息记录按钮,获取目标聊天对象和用户之间的聊天内容。

本发明实施例的特征还在于,根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息之后,方法还包括:

利用字符串处理方法,对聊天信息按照预设数据格式进行转换。

本发明实施例的特征还在于,根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息之后,方法还包括:

关闭目标聊天对象与用户之间的聊天窗口。

第二方面,本发明实施例还提供了一种即时通讯软件信息采集装置,装置应用于分布式计算机集群中,该装置对应分布式计算机集群中的第一计算机,第一计算机为分布式计算机集群中的任一台计算机,包括:

获取单元,用于当接收到采集任务指令后,获取本机的ip地址;

调用单元,用于根据本机的ip地址,从预建立的数据库中调取采集任务,其中采集任务中至少包括:即时通讯软件名称、用户账号、登录密码以及与待查询的目标聊天对象对应的标识信息;

登录单元,用于根据即时通讯软件名称、用户账号、登录密码,登录即时通讯软件;

处理单元,用于根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息。

本发明实施例的特征还在于,处理单元还用于,关闭目标聊天对象与用户之间的聊天窗口。

第三方面,本发明实施例还提供了一种即时通讯软件信息采集系统,该系统包括:处理器和存储器;

存储器用于存储一个或多个程序指令;

处理器,用于运行一个或多个程序指令,用以执行如上第一方面的一种即时通讯软件信息采集方法中的任一方法步骤。

第四方面,本发明实施例还提供了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种即时通讯软件信息采集系统执行如上第一方面的一种即时通讯软件信息采集方法中的任一方法步骤。

根据本发明的实施方式,具有如下优点:通过分布式计算机集群中所有计算机同时工作。而分配任务时,是由计算机自身根据自己的ip地址,到预建立的数据库中调取采集任务,执行有序而不乱。每个计算机根据自己的采集任务,登录即时通讯软件后,可以实时可靠的自动获取目标聊天对象和用户之间的聊天信息。方便监管部门对于大量用户的聊天内容进行监管。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。

图1为本发明实施例1提供的一种即时通讯软件信息采集方法流程示意图;

图2为本发明实施例2提供的一种即时通讯软件信息采集装置结构示意图;

图3为本发明实施例3提供的一种即时通讯软件信息采集系统结构示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例1提供了一种即时通讯软件信息采集方法,具体如图1所示,该方法应用于分布式计算机集群中,方法由分布式计算机集群中的第一计算机执行,第一计算机为分布式计算机集群中的任一台计算机,该方法包括:

步骤110,当接收到采集任务指令后,获取本机的ip地址。

具体的,采集任务指令将由分布式计算机集群中的调度中心下发。计算机集群中的每一台计算机各自接收自己的采集任务指令。调度中心在分配任务时,将会根据负载均衡的原则下发任务指令。而每一台计算机接收到采集任务指令后,则会主动获取本机的ip地址。

可选的,可以采用resolve函数获取本机ip地址。

步骤120,根据本机的ip地址,从预建立的数据库中调取采集任务。

具体的,调度中心会将分配好的任务列表存储到预建立的数据库中。每一个计算机需要首先和预建立的数据库建立通信连接,然后从预建立的数据库中找到与自身的ip相匹配的任务列表,进而获取到采集任务。

采集任务中包括但不限于:即时通讯软件名称、用户账号、登录密码以及与待查询的目标聊天对象对应的标识信息。

步骤130,根据即时通讯软件名称、用户账号、登录密码,登录即时通讯软件。

步骤140,根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息。

可选的,聊天信息包括:目标聊天对象基本信息,以及用户与目标聊天对象之间的聊天内容;根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出目标聊天对象基本信息,具体包括:

利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第一预设数组元素;

根据第一预设数组元素,获取目标聊天对象的详细信息。

可选的,根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出用户与目标聊天对象之间的聊天内容,具体包括:

利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第二预设数组元素,第二预设数组元素用于记录“消息记录”的按钮的位置信息;

利用findfirst函数,根据第二预设元素、检索属性当前值参数automationelement.nameproperty和预设关键字定位消息记录按钮,其中automationelement.nameproperty为外部输入的参数;

触发消息记录按钮,获取目标聊天对象和用户之间的聊天内容。

可选的,在执行步骤140之后,该方法还包括步骤150:利用字符串处理方法,对聊天信息按照预设数据格式进行转换。

执行步骤150的目的在于,将聊天信息按照预设格式进行转换后,方便工作人员进行查看。例如转换为符合数据表架构匹配的数据格式,然后将数据填入到数据表中,方便工作人员查看。

可选的,在执行步骤140之后,该方法还包括步骤160:关闭目标聊天对象与用户之间的聊天窗口。

关闭当前的目标聊天对象与用户之间的聊天窗口的目的在于,可以降低计算机运行负荷,提升计算机运行能力。当然,如果该即时通讯软件聊天记录已经获取完成,还需要直接关闭该即时通讯软件,进一步降低计算机运行负荷。

需要说明的是,步骤150的执行和步骤160的执行并没有先后顺序,不需要按照本文中数字顺序执行,计算机可以自由分配执行顺序。

另外,目标聊天对象可以是即时通讯软件中该用户账号中所存在的一个成员,也可以是一个群组。例如qq中的一个好友或者是一个qq群。具体根据实际情况设定,这里不做任何限制。

在一个具体例子中,当计算机需要获取一个qq群的消息记录时,则需要执行如下步骤:

当计算机执行步骤110至步骤130登录到qq后,1)利用automationelement.rootelement函数获取qq在本机中存储路径的根节点。2)利用findfirst函数,根据qq在本机中存储路径的根节点、包含元素直系子级参数treescope.children和qq群聊天窗口对应的runtimeid,获取qq群聊天窗口的标识符;3)根据qq群聊天窗口的标识符,打开qq群聊天窗口;4)利用findall函数,根据treescope.children函数查找与qq群聊天窗口的标识符对应的直系子节点,其中直系子节点为qq群聊天窗口中的面板窗口,面板窗口包括聊天界面、公告板块、相册板块、文件版块、活动板块、设置板块、消息记录按钮以及qq群详细信息界面板块等。5)对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组。遍历数组,获取第一预设数组元素,这里的第一预设数组元素也即是与qq群详细信息界面对应的数组元素。6)然后打开qq群详细信息界面,利用findall函数,根据treescope.children查找第一类预设定的子节点标识符,用以逐步获取用户的头像、昵称等;7)继续利用findfirst函数,根据检索属性当前值automationelement.nameproperty和特定的关键字“性别”、“年龄”等,来获取用户的性别、年龄、所在地、q龄、个人说明。

进一步的,执行上文的1)-5)的步骤后,6)打开qq群详细信息界面,利用findall函数,根据treescope.children查找第二类预设定的子节点标识符,用以逐步获取qq群介绍和qq群头像等信息。通过上述过程,也即是获取了目标聊天对象的详细信息。

进一步的,执行上文的1)-3)的步骤后,4)利用findall函数,根据treescope.children函数查找与qq群聊天窗口的标识符对应的直系子节点,其中直系子节点为qq群聊天窗口中的面板窗口,面板窗口包括聊天界面、公告板块、相册板块、文件版块、活动板块、设置板块、消息记录按钮以及qq群详细信息界面板块等。5)对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组。遍历数组,获取第二预设数组元素,这里的第二预设数组元素用以记录“消息记录”的按钮的位置信息。6)利用findfirst函数,根据第二预设元素、检索属性当前值参数automationelement.nameproperty和预设关键字定位消息记录按钮,这里的关键字为“消息记录”。7)触发消息记录按钮,打开qq窗口中的聊天记录,利用findfirst函数,获取qq群中的聊天记录。

进一步的,还包括利用endswith、split等字符串处理方法,把获取的qq群数据处理成与数据表架构匹配的数据格式。最近,将处理后的数据存储到数据库中。

本发明实施例提供的一种即时通讯软件信息采集方法,通过分布式计算机集群中所有计算机同时工作。而分配任务时,是由计算机自身根据自己的ip地址,到预建立的数据库中调取采集任务,执行有序而不乱。每个计算机根据自己的采集任务,登录即时通讯软件后,可以实时可靠的自动获取目标聊天对象和用户之间的聊天信息。方便监管部门对于大量用户的聊天内容进行监管。

与上述实施例1对应的,本发明实施例2还提供了一种即时通讯软件信息采集装置,具体如图2所示,该装置对应分布式计算机集群中的第一计算机,第一计算机为分布式计算机集群中的任一台计算机,包括:获取单元201、调用单元202、登录单元203和处理单元204。

获取单元201,用于当接收到采集任务指令后,获取本机的ip地址;

调用单元202,用于根据本机的ip地址,从预建立的数据库中调取采集任务,其中采集任务中至少包括:即时通讯软件名称、用户账号、登录密码以及与待查询的目标聊天对象对应的标识信息;

登录单元203,用于根据即时通讯软件名称、用户账号、登录密码,登录即时通讯软件;

处理单元204,用于根据与待查询的目标聊天对象对应的标识信息,查找用户与目标聊天对象之间的聊天窗口,获取并输出聊天信息。

可选的,获取单元201具体用于,当接收到采集任务指令后,利用resolve函数获取本机ip地址。

可选的,聊天信息包括:目标聊天对象基本信息,以及用户与目标聊天对象之间的聊天内容;处理单元204具体用于,利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第一预设数组元素;

根据第一预设数组元素,获取目标聊天对象的详细信息。

可选的,聊天信息包括:目标聊天对象基本信息,以及用户与目标聊天对象之间的聊天内容;处理单元204具体用于,利用automationelement.rootelement函数获取即时通讯软件在本机中存储路径的根节点;

利用findfirst函数,根据即时通讯软件在本机中存储路径的根节点、包含元素直系子级参数treescope.children和用户与目标聊天对象之间的聊天窗口对应的runtimeid,获取用户与目标聊天对象之间的聊天窗口的标识符,其中,treescope.children和runtimeid由外部输入;

根据用户与目标聊天对象之间的聊天窗口的标识符,打开用户与目标聊天对象之间的聊天窗口;

利用findall函数,根据treescope.children函数查找与用户与目标聊天对象之间的聊天窗口的标识符对应的直系子节点,其中直系子节点为用户与目标聊天对象之间的聊天窗口中的面板窗口;

对面板窗口按照预设规则转换为转换数组元素后,将所有数组元素构成数组;

遍历数组,获取第二预设数组元素,第二预设数组元素用于记录“消息记录”的按钮的位置信息;

利用findfirst函数,根据第二预设元素、检索属性当前值参数automationelement.nameproperty和预设关键字定位消息记录按钮,其中automationelement.nameproperty为外部输入的参数;

触发消息记录按钮,获取目标聊天对象和用户之间的聊天内容。

可选的,处理单元204还用于,利用字符串处理方法,对聊天信息按照预设数据格式进行转换。

可选的,处理单元204还用于,关闭目标聊天对象与用户之间的聊天窗口。

本发明实施例提供的一种即时通讯软件信息采集装置中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。

本发明实施例提供的一种即时通讯软件信息采集装置,通过分布式计算机集群中所有计算机同时工作。而分配任务时,是由计算机自身根据自己的ip地址,到预建立的数据库中调取采集任务,执行有序而不乱。每个计算机根据自己的采集任务,登录即时通讯软件后,可以实时可靠的自动获取目标聊天对象和用户之间的聊天信息。方便监管部门对于大量用户的聊天内容进行监管。

与上述实施例相对应的,本发明实施例3还提供了一种即时通讯软件信息采集系统,具体如图3所示,该系统包括:处理器301和存储器302;

存储器302用于存储一个或多个程序指令;

处理器301,用于运行一个或多个程序指令,用以执行如上实施例所介绍的一种即时通讯软件信息采集方法。

本发明实施例提供的一种即时通讯软件信息采集系统,通过分布式计算机集群中所有计算机同时工作。而分配任务时,是由计算机自身根据自己的ip地址,到预建立的数据库中调取采集任务,执行有序而不乱。每个计算机根据自己的采集任务,登录即时通讯软件后,可以实时可靠的自动获取目标聊天对象和用户之间的聊天信息。方便监管部门对于大量用户的聊天内容进行监管。

与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包含一个或多个程序指令。其中,一个或多个程序指令用于被一种即时通讯软件信息采集系统执行如上实施例所介绍的一种即时通讯软件信息采集方法。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1