CN114168832B - 一种面向推荐平台的rpa数据采集方法 - Google Patents
一种面向推荐平台的rpa数据采集方法 Download PDFInfo
- Publication number
- CN114168832B CN114168832B CN202111359478.XA CN202111359478A CN114168832B CN 114168832 B CN114168832 B CN 114168832B CN 202111359478 A CN202111359478 A CN 202111359478A CN 114168832 B CN114168832 B CN 114168832B
- Authority
- CN
- China
- Prior art keywords
- template matching
- module
- blogger
- positioning
- num
- 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.)
- Active
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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种面向推荐平台基于RPA技术的数据采集方法,目的是解决传统基于RPA的数据采集方法流程正确性难以保障,异常情况无法判断的问题。技术方案是:构建由由客户端、数据整编模块、推文采集模块、模板匹配模块、博主采集模块、流程日志E、目标数据池A以及主题标签数据池S构成的面向推荐平台的RPA数据采集系统。根据用户需要面向推荐平台对界面元素进行定位、对主题关键词进行筛选,实现自动化的数据下载、整编,并将全流程记录至流程日志以供用户回溯。采用本发明能筛选出用户需要的博主及噪音推文,得到清洁度较高的细粒度数据集,不需要额外做数据处理,减少了流程异常等问题的发生,有效提升数据采集的效率及准确度。
Description
技术领域
本发明涉及机器人流程自动化(Robotic Process Automation RPA)领域,具体涉及一种面向推荐平台的RPA数据采集方法。
背景技术
数据采集是指根据提供的关键词,将存储在信息世界中的相关数据以指定的格式筛选、整编、存储在本地的指定路径下。
互联网的诞生与普及极大的改变了人们对信息的获取与认知方式,如今人们习惯于将数据存储于信息世界,通过搜索引擎或手机应用等工具进行检索,从而采集到所需信息。在实际工作中,数据采集通常分为以下两种场景,一种是通过搜索引擎检索到数据源,该场景的特点是可以调取网页的HTML标签或是内部的API接口,称之为有标签场景。目前已经有较为成熟的解决办法,利用商业采集器或是编写爬虫程序等方法来对该场景进行数据采集,采集速度较快并且采集信息相对准确。
另一种场景是通过手机应用或是基于Direct UI框架(见文献“宋伟.Dir ectX三维游戏编程[M].西安电子科技大学出版社2016.”)开发的软件平台检索数据源。基于Direct UI框架开发的软件平台将所有的界面控件都绘制在一个窗口上,而不是使用Windows的原生控件,所以这些控件都是无句柄的。简单来说,其界面元素都是“画”出来的,虽然人眼可以看到,但操作系统或其他程序都不知道界面元素到底在哪里,无法通过句柄对各级窗口进行细粒度的控制。通过手机应用进行数据采集需要借助手机模拟器来实现,与Direct UI框架开发的软件平台具有同样的特性。
该场景的特点是无法查询HTML标签及界面元素,检索平台不提供内部的AP I接口,称之为无标签场景。该场景无法利用有标签场景下数据采集的解决方法,只能通过类似人工采集的方法识别界面元素,控制鼠标键盘进行点击、输入输出等操作。进入大数据时代,互联网上信息量呈指数型暴增,面对规模巨大的信息空间,人工浏览耗时耗力并且准确率较低,已无法满足数据采集的需求。因此迫切需要寻求一个智能化、自动化进行数据采集的方案。
一种自动化进行数据采集的有效解决方案是机器人流程自动化技术(Robot icProcess Automation RPA),RPA技术通过模拟人类在电脑上对鼠标键盘操作,可以像真人一样进行自动化办公,基于用户界面(UI)和脚本程序(Script)按照规则去自动化执行流程或一系列任务,也被成为RPA机器人。
基于RPA的数据采集方法(简称RPA采集方法),在一定程度上解决了面向无标签场景下无法利用爬虫技术的难题,在自动化办公领域拥有诸多优势,如信息安全性、非入侵性、可追溯性及工作效率高等特点。但传统的RPA方法还只能实现基于简单规则的流程自动化,例如计算、生成文件、检查文件格式等机械性的工作,应用场景相对受限,在实际应用中,还存在大量不是基于固定规则的流程,因此RPA采集方法还存在一定局限性。首先,是其程序脆弱性,传统的RPA方法是严格遵守流程规则的,因此,在实际应用中,如果采集需求或是第三方软件界面进行了很小的更改,都需重新配置程序,专业性要求高且耗时,有碍于长期管理;其次,是其灵活性差,传统RPA采集方法的认知程度低,在流程进行过程中,若出现异常或是输入数据不够清晰,程序不能自动进行异常处理;最后,是其流程正确性无法保障,人类可以相对容易地基于经验判断流程执行的正确与否,即使出现人工错误的情况,这些错误在处理的全量业务中也只占很小的一部分。但是,当基于流程的机器人一旦出现错误时,有可能导致大量数据损坏。综上所述,当前的RPA采集方法不能做判断、创造或解释性的工作,智能化程度不足。
推荐平台(见文献“奉国和,梁晓婷.国内推荐引擎学术研究知识图谱分析[J].情报科学,2012,030(001):144-148,160.”)是指基于数据挖掘的推荐引擎产品,为用户推荐信息、提供连接人与信息的服务的产品,例如“今日头条”APP等。推荐平台的工作机制是结合用户的静态信息(性别、年龄、职业等)和动态信息(搜索历史、浏览记录、评论留言等)从海量内容中过滤无关信息,快速找到用户所需目标信息群,是高效获取细粒度信息的常用途径,并且已经深入应用于各类无标签场景。推荐平台(如“今日头条”APP等)的推荐机制为,根据用户的动态信息,推荐用户可能感兴趣的信息,如用户连续关注若干军事类的博主,推荐平台就会根据用户的操作记录推荐军事领域的博主。
结合上述分析,如何提升无标签场景下的基于RPA的数据采集方法的智能性,在保证数据采集的高效性、准确性及完整性的同时,解决现有数据采集工作中面临的挑战,满足无标签场景中更灵活、多元化的自动化采集需求是一个重要的研究点。但目前还没有技术文件涉及面向推荐平台的RPA数据采集方法,结合并充分利用推荐平台的推荐机制,提供一种面向推荐平台的RPA数据采集方法显得十分必要。
发明内容
本发明要解决的技术问题是解决在无标签场景中,传统的基于RPA的数据采集方法程序脆弱使得流程易中断、灵活性差使得遇到异常情况无法自动处理、流程正确性无法保障使得易出现大规模数据损坏的问题,提供一种面向推荐平台的RPA数据采集方法。对传统的基于RPA的数据采集方法进行优化,提升基于RPA的数据采集方法的智能性,并充分结合推荐平台的特性,快速准确自动化的采集到细粒度(数据粒度,在人工智能中指数据的详细程度,而细粒度数据则指信息较详细具体的数据)数据,并进行自动化的下载整编。
本发明包括以下步骤:
第一步,构建面向推荐平台的RPA数据采集系统。该系统由客户端、数据整编模块、推文采集模块、模板匹配模块、博主采集模块、流程日志E、目标数据池A以及主题标签数据池S构成。
客户端与数据整编模块、主题标签数据池S相连。客户端将用户编辑的数据采集路径P和数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,将主题标签存贮到主题标签数据池S。主题标签分为两种,一种为主题关键词库K中所有关键词元素的图像,一种为流程需要的界面元素的图像。主题关键词库K指待采集数据的主题,主题关键词库共NN个元素,NN为正整数,如军事相关的系列词库、财经相关系列词库等;界面元素指在流程中所涉及到的按钮或图标,如“返回”按钮、“返回_1”按钮、“返回_2”按钮、“返回_3”按钮、“关注”按钮、“未关注”按钮、“关闭”按钮、“已无更多推文”图标、“已无更多博主”图标,“图片推文特征”图标,“视频推文特征”图标等,格式均为jpg。数据采集路径P指当采集到目标数据后,存放目标数据的路径位置;数据存储格式F指对采集到的目标数据进行统一整编的格式要求。
主题标签数据池S与客户端、模板匹配模块相连。主题标签数据池S以文档的形式存在,从客户端接收主题标签,对主题标签进行存储。令S共存储MM个主题标签,MM为正整数,其中关键词元素NN个,界面元素共NM个,MM=NN+NM。主题标签数据池S供模板匹配模块进行定位和筛选操作时查询,作为定位和筛选操作时的模板图片。
模板匹配模块与主题标签数据池S、推文采集模块、博主采集模块相连。模板匹配模块是一个模板匹配(见文献“张建渊.基于图像识别模板匹配技术的工业检测系统设计[J].仪器仪表用户,2020,v.27;No.181(03):29-31.”)模型,当从推文采集模块或博主采集模块接收到定位元素xx(xx为主题标签数据池S中的任一界面元素)指令时,截取推荐平台界面的图像作为目标图像I,读取主题标签数据池S中对应的xx元素作为模板图片T,在I上对T进行定位;若定位成功,模板匹配模块发送T的坐标信息至推文采集模块或博主采集模块;若定位失败,则说明当前界面I内没有T;模板匹配模块发送定位结果(如定位成功,定位结果即为元素xx在I中的坐标信息,若定位失败,定位结果即为定位失败的信息)至推文采集模块或博主采集模块。将定位操作的I、T、定位结果存入流程日志E。
当从推文采集模块或博主采集模块接收到筛选主题关键词指令(是一个判断博主是否为K领域内博主的指令)时,模板匹配模块对推荐平台的界面进行实时截图,截取推荐平台界面的图像作为第一目标图像I1,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,筛选结果为“I1筛选到了关键词”,若筛选失败,筛选结果为“I1未筛选到关键词”,将筛选结果发送至推文采集模块或博主采集模块。
流程日志E负责存储每次模板匹配模块执行的结果,以便追溯整个流程,E以文档形式存在,I、T的格式为jpg,定位结果以文本文档(.txt)格式存储在E中。
博主采集模块与模板匹配模块、推文采集模块相连。博主采集模块是一个筛选、关注主题关键词库K领域内博主的流程模型,根据是否存在未关注博主构建关注列表,并对关注列表进行扩充。流程模型指依据事先编写好的流程,模仿人类动作、行为,代替人类来完成某件工作的模型。
当需要对界面元素定位时,博主采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,博主采集模块将筛选主题关键词指令发送至模板采集模块,根据从模板采集模块得到的筛选结果,控制鼠标执行下一步动作。当关注列表中不存在K领域的博主时,向推文采集模块发送“任务结束”信号。
推文采集模块与模板匹配模块、数据整编模块、博主采集模块相连。推文采集模块是一个筛选、采集文字推文的流程模型。推文采集模块接收到博主采集模块发送的“任务结束”信号后,开始执行工作。推文采集模块按关注列表从上至下的顺序依次进入博主的推文界面,将推荐平台中的原始数据写入剪切板并向数据整编模块发送读取指令。
当需要对界面元素进行定位时,推文采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,推文采集模块将筛选主题关键词指令发送至模板匹配模块,根据从模板匹配模块得到的筛选结果,控制鼠标执行下一步动作。最终实现将关注列表中全部博主的所有文字推文存入剪切板,并向数据整编模块发送读取指令。
数据整编模块与客户端、推文采集模块、目标数据池A相连。数据整编模块是负责整编、存储数据的模块。数据整编模块接收到客户端发送的数据采集路径P、数据存储格式F后进行初始化。当接收到推文采集模块发来的读取指令后,读取剪切板中的原始数据α,按照数据存储格式F将α整编为目标数据α1,将α1按照数据采集路径P保存至目标数据池A。
目标数据池A为存储目标数据α1的数据池,以文档形式存在。α1可以以.txt、.doc、.docx、.xls或.xlsx形成存储,依据具体任务中的数据存储格式F而定。
第二步,客户端将数据采集路径P、数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,将主题标签存贮到主题标签数据池S。令K中共有NN项主题关键词,NN为正整数。
第三步,用户依据主题关键词库K构建主题关键词数据池S,令S中共MM个元素,方法是:
3.1令循环变量p=1;
3.2用户截取K中第p个主题关键词在推荐平台上的图像,命名为Kp.jpg,格式为jpg,添加在主题标签数据池S中,令p=p+1,若p≤NN,转步骤3.2继续添加,否则转步骤3.3;
3.3用户对在流程中所涉及到的界面元素的数量进行统计,如“返回”按钮、“关注”按钮、“未关注”按钮、“关闭”按钮、“已无更多推文”图标、“已无更多博主”图标,“图片推文特征”图标,“视频推文特征”图标,令界面元素共NM个;
3.4令循环变量m=1;
3.5用户对界面元素进行截图,以“界面元素名.jpg”命名,如“返回.jpg”,格式为jpg,添加在主题标签数据池S中,令m=m+1,若m≤NM,则转3.5继续添加,否则主题标签数据池S构建完成,转第三步;
至此主题标签数据池S构建完成,由用户准备,以文档形式存在,共MM个元素,MM=NN+NM为正整数,Si(i∈[1,NN])为主题关键词(步骤3.2形成),Si(i∈[NN+1,MM])为界面元素。
第四步,博主采集模块利用win32gui.FindWindow工具(见网站https://www.programcreek.com/python/index/322/win32gui中的“Find Window部分”version0.0.9及以上)获取推荐平台的句柄,将推荐平台的窗口设置为最前窗口。
第五步,博主采集模块筛选并关注主题关键词库K内的博主,根据推荐平台的实时界面是否存在未关注博主构建推荐平台账号的关注列表List_1,方法为:
5.1令循环变量f=1,初始化List_1中最终博主数FF=0,初始化关注列表List_1为空;
5.2博主采集模块向模板匹配模块发送定位“关注”按钮指令(此时元素xx为“关注”按钮);
5.3模板匹配模块利用pyautogui.screenshot工具(见网站https://pyautogui.readthedocs.io/en/latest/中的“Screenshot Functions部分”version 228)截取推荐平台上第n个未关注博主的博主名片作为目标图像,记为I,博主名片包括“关注”.jpg、博主名称、博主简介;
5.4模板匹配模块读取主题标签数据池S中的“关注”.jpg图像,作为模板图像,记为T;
5.5模板匹配模块接收定位“关注”按钮指令,采用模板匹配定位法对T在I上进行定位,若定位成功,则得到模板图像T在目标图像I上的位置坐标和T在I上的数量num,若定位失败,则得到定位失败的结果,方法为:
5.5.1利用numpy.shape[](见网站https://www.numpy.org.cn/中的“numpy.core.fromnumeric部分”Version 1.19.2)函数获得I的宽、高,分别记为wI,hI;
5.5.2利用numpy.shape[]获得T的宽、高,记为wT,hT;
5.5.3将I与T的重叠区域令为区域Z;
5.5.4模板匹配模块采用相似度矩阵计算方法计算T与I的相似度矩阵M,M的规模为[wI-wT,hI-hT](即wI-wT列,hI-hT行),方法为:在I上按照像素点遍历的顺序(从左至右,从上至下)依次移动T,每次移动一个像素点单位,利用opencv函数库中的标准相关匹配法(见网站https://opencv.org/中的“Online Documentation部分”Version 4.4.0.44)计算T与I之间的相似度,同时将每次移动得到的T与I之间的相似度按行优先存储顺序存储在相似度矩阵M中,直到完成全部的移动和相似度计算;
5.5.5模板匹配模块采用目标定位方法根据M计算I中的目标个数及坐标位置,得到目标个数num及num个目标中心点在I中的坐标,方法是:设置阈值R,针对不同场景R值是不同的,通常R设置在0.75-0.90之间,针对界面元素的定位,R优选设置为0.80。若M中有num个大于R的值,则将第n个大于R的值对应的I中的点记为(r1n,r2n),并将该点作为目标区域的左上角,则第n个目标区域的中心点坐标为即为第n个目标所在位置。此时I中存在num个T,num为I中的目标个数,n为整数且1≤n≤num。
5.5.6模板匹配模块将定位到的目标个数num及num个目标所在位置的坐标信息发送给博主采集模块,将T、I、num个目标所在位置的坐标信息保存至E,转5.6;若M中没有大于R的值,则说明未定位到目标,说明定位失败,将“定位失败”消息发送至博主采集模块,将T、I、定位失败结果保存至E,转5.6;
5.6若博主采集模块从模板匹配模块收到目标所在位置坐标信息,转步骤5.7;若博主采集模块接收到定位失败消息,则令f=0,即关注列表中不存在未关注博主,转第六步。
5.7令目标循环变量n=1;
5.8博主采集模块向模板匹配模块发送筛选主题关键词的指令;
5.9模板匹配模块将目标图像I作为第一目标图像I1;
5.10模板匹配模块接收到筛选主题关键词的指令,采用模板匹配筛选法,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,则I1的名称及简介中含有S中某个主题关键词Si,若筛选失败,则说明I1的名称及简介中不含有S中任何主题关键词,方法为:
5.10.1令主题关键词序号i=1;
5.10.2读取S中第i个主题关键词Si作为第一模板图像T1;
5.10.3利用numpy.shape[]函数获得I1的宽、高,分别记为wI1,hI1;利用numpy.shape[]获得T1的宽、高,分别记为wT1,hT1,令I1与T1的重叠区域为第一重叠区域Z1;
5.10.4模板匹配模块采用5.5.4所述相似度矩阵计算方法计算T1与I1的第一相似度矩阵M1,M1的规模为[wI1-wT1,hI1-hT1];
5.10.5模板匹配模块采用5.5.5所述目标定位方法根据M1计算I1中的目标个数及坐标位置,若M1中存在大于R的值,则说明说明第n个目标的名称及简介中含有Si,筛选结果为“I1筛选到了关键词”,并得到第一目标个数num1及num1个目标中心点在I1中的坐标,将T1、I1、T1在I1
上的坐标信息保存至E,转5.11;若M1中没有大于R的值,则说明第n个目标的名称及简介中不含Si,令i=i+1,若i≤NN,转步骤5.10.2继续定位K中下一关键词;若i>NN,说明第n个博主的名称及简介中不含S中的任何主题关键词,筛选结果为“I1未筛选到关键词”,转步骤5.13;
5.11博主采集模块采用PyWinAuto(来源见网站https://pypi.org/project/pywinauto/0.4.0/,version 0.9.52)和PyAutoGui(来源见网站https://pyautogui.readthedocs.io/en/latest/中的“Mouse Control Functions部分”Version0.9.53)两个工具实现对鼠标的自动化控制,控制鼠标移动至第n个目标的坐标处,执行点击操作,即点击“关注”按钮,将该博主添加至推荐平台账号的关注列表List_1中,即令List_1[f]存储博主标号;令f=f+1,令FF=f,转步骤5.12。
5.12令n=n+1,若n≤num,说明I1还存在未筛选的未关注博主,转步骤5.10;若n>num,说明已识别到的未关注博主的主题关键词已全部筛选完毕,需重新识别推荐平台的实时界面的未关注博主位置,转步骤5.2;
5.13博主采集模块向模板匹配模块发送定位“关闭”按钮指令;
5.14模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第二目标图像I2,模板匹配模块读取S的界面元素“关闭”按钮作为第二模板图像T2,模板匹配模块采用5.5步所述模板匹配定位法对T2在I2上进行定位,得到T2在I2上的数量num2及num2个T2在I2上的坐标信息,因页面必然存在一个“关闭”按钮,因此不存在定位失败的情况,且“关闭”按钮一般一个页面只有一个,故num2=1,模板匹配模块将T2在I2上的坐标信息及数量num2发送至博主采集模块,将T2、I2、T2在I2上的坐标信息记录到E,令n=n+1,若n≤num,转步骤5.8;若n>num,转步骤5.2;
第六步,博主采集模块对List_1中的博主标号进行遍历,从List_1筛选出K领域内的博主进行关注,扩充关注列表List_1,方法为:
6.1令博主标号f=1;
6.2博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标从上至下依次点击List_1中的博主标号对应的博主头像,进入List_1[f]中的博主标号对应的推文界面;
6.3博主采集模块向模板匹配模块发送定位“关注列表”按钮的指令;
6.4模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第三目标图像I3,通过模板匹配模块读取S的界面元素“关注列表”按钮为第三模板图像T3,模板匹配模块采用5.5步所述模板匹配定位法对T3在I3上进行定位,得到T3在I3上的第三目标数量num3及num3个T3在I3上的坐标信息,将得到的“关注列表”按钮所在位置的坐标信息及num3发送至博主采集模块,将num3个T3在I3上的的坐标信息、T3、I3记录到E,转步骤6.5;若定位失败,将“关注列表”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T3、I3记录到E,转步骤6.6;
6.5博主采集模块接收到“关注列表”按钮所在位置的坐标信息,控制鼠标移动至“关注列表”按钮所在位置的坐标,执行点击操作,进入List_1[f]的关注列表界面,转步骤6.9;
6.6博主采集模块接收到“关注列表”按钮定位失败的结果,向模板匹配模块发送定位“返回”按钮的指令;
6.7模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第四目标图像I4,通过模板匹配模块读取S的界面元素“返回”按钮作为第四模板图像T4,模板匹配模块采用5.5步所述模板匹配定位法对T4在I4上进行定位,得到T4在I4上的第四目标数量num4及num4个T4在I4上的坐标信息,因本页面必然存在一个“返回”按钮,因此不存在定位失败的情况,且“返回”按钮一般一个页面只有一个,故num4=1。模板匹配模块将T4在I4上的坐标信息及数量num4发送至博主采集模块,将T4、I4、T4在I4上的坐标信息记录到E,转步骤6.8;
6.8博主采集模块接收到“返回”按钮位置的坐标信息,控制鼠标移动至“返回”按钮位置的坐标,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2;若f>FF,转第七步;
6.9博主采集模块向模板匹配模块发送定位“未关注”按钮的指令;
6.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第五目标图像I5,通过模板匹配模块读取S的界面元素“未关注”按钮为第五模板图像T5,模板匹配模块采用5.5步所述模板匹配定位法对T5在I5上进行定位,得到T5在I5上的第五目标数量num5及num5个T5在I5上的坐标信息,本页面可能存在多个T5。将T5在I5上的的坐标信息及数量num5发送至博主采集模块,将T5在I5上的坐标信息、T5、I5记录到E,转步骤6.11;若定位失败,则将“未关注”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T5、I5记录到E,转步骤6.14;
6.11博主采集模块向模板匹配模块发送筛选主题关键词的指令及T5在I5上的坐标信息及num5;
6.12令循环变量m=1;
6.13模板匹配模块接收到筛选主题关键词的指令,模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第m个未关注博主所在的实时界面作为第六目标图像I6,采用5.10所述的模板匹配筛选法对I6的名称及简介进行S中主题关键词的筛选,若筛选成功则说明I6中含有S中的某个主题关键词Si,将筛选结果“I6筛选到了关键词”发送至博主采集模块,转步骤6.14;若筛选失败,则说明I6的名称及简介中不含有S中的任何主题关键词,将筛选结果“I6未筛选到关键词”发送至博主采集模块,转步骤6.15;
6.14博主采集模块控制鼠标,移动、点击“未关注”按钮,将I6上的第m个未关注博主添加至推荐平台账号的关注列表,令FF=FF+1,令m=m+1,若m≤num5,转步骤6.13;若m>num5,转步骤6.15;
6.15博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标拖拽,在List_1[f]的关注列表界面进行自动翻页操作;
6.16博主采集模块向模板采集模块发送定位“无更多博主”图标的指令;
6.17模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第七目标图像I7,模板匹配模块读取S的界面元素“无更多博主”图标作为第七模板图像T7,模板匹配模块采用5.5步所述模板匹配定位法对T7在I7上进行定位,得到T7在I7上的数量num7及num7个T7在I7上的坐标信息。若定位成功,模板匹配模块将num7个T7在I7上的坐标信息及数量num7发送至博主采集模块,且“无更多博主”图标一般一个页面只有一个,故num7=1,将T7、I7、T7在I7上的坐标信息记录到E,转步骤6.18;若定位失败,将T7在I7上定位失败的结果发送至博主采集模块,将T7、I7、T7在I7上定位失败的结果记录到E,转步骤6.9(定位“无更多博主”失败,说明该关注列表还存在未筛选的博主,所以要回到6.9,继续定位“未关注”按钮,寻找未关注博主进行筛选);
6.18博主采集模块接收到“无更多博主”图标坐标信息,向模板匹配模块发送定位“返回_1”按钮的指令;
6.19模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第八目标图像I8,通过模板匹配模块读取S的界面元素“返回_1”按钮作为第八模板图像T8,模板匹配模块采用5.5步所述模板匹配定位法对T8在I8上进行定位,得到T8在I8上的数量num8及num8个T8在I8上的坐标信息,因页面必然存在一个“返回_1”按钮,因此不存在定位失败的情况,且“返回_1”按钮一般一个页面只有一个,故num8=1。模板匹配模块将T8在I8上的坐标信息及数量num8发送至博主采集模块,将T8、I8、T8在I8上的坐标信息记录到E,转步骤6.20;
6.20博主采集模块接收到“返回_1”按钮的坐标信息,控制鼠标移动至坐标位置,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2,否则说明List_1[f]中所有博主的关注列表已经筛选完成,转步骤6.21;
6.21博主采集模块向推文采集模块发送任务结束信息,转第七步。
第七步,推文采集模块将List_1中博主的推文作为原始数据存储至剪切板中,数据整编模块从剪切板中读取原始数据,并将推荐平台中的推文按需求整编,采集至目标数据池A,方法为:
7.1推文采集模块从博主采集模块接收任务结束信息;
7.2令循环变量f=1;
7.3由于推荐平台的List_1[f]界面每一页等距显示每个博主,因此博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标点击博主头像,进入关注列表List_1[f]的推文界面;
7.4进入List_1[f]的推文界面后,界面中有多个博主的头像,其中界面顶部60×60像素大小的图像位置固定,除此之外,每条推文中会带有一个大小为27×27像素的小头像,其位置不固定。推文采集模块向模板匹配模块发送定位小头像指令;
7.5模板匹配模块利用pyautogui.screenshot工具截取List_1[f]的推文界面图像作为第九目标图像I9,模板匹配模块截取60×60像素的博主头像图像,并调整至原本的0.45倍,得到27×27xp大小的头像图作为第九模板图像T9;模板匹配模块采用5.5步所述模板匹配定位法对T9在I9上进行定位,得到T9在I9上的数量num9及num9个T9在I9上的坐标信息(其中第n9个T9在I9上的坐标为 n9∈[1,num9])。若定位成功,模板匹配模块将T9在I9上的坐标信息及数量num9发送至博主采集模块,将T9、I9、T9在I9上的坐标信息记录到E,转步骤7.6;若定位失败,将T9在I9上定位失败的结果发送至博主采集模块,将T9、I9、T9在I9上定位失败的结果记录到E,转步骤7.28;
7.6令循环变量n9=1;
7.8博主采集模块向模板匹配模块发送定位“图片推文特征”的指令;
7.9模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台第n9篇推文的界面作为第十目标图像I10,模板匹配模块读取S的界面元素“图片推文特征”作为第十模板图像T10,模板匹配模块采用5.5步所述模板匹配定位法对T10在I10上进行定位,若定位成功,说明此推文为图片推文,得到T10在I10上的第十目标数量num10及num10个T10在I10上的坐标信息,模板匹配模块将T10在I10上的坐标信息及num10发送至博主采集模块,将T10、I10、T10在I10上的坐标信息记录到E,转步骤7.21,否则,说明此推文不是图片推文,将T10、I10、T10在I10上定位失败信息记录至E,转步骤7.10;
7.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十一目标图像I11,模板匹配模块读取S的界面元素“视频推文特征”作为第十一模板图像T11,模板匹配模块采用5.5步所述模板匹配定位法对T11在I11上进行定位,若定位成功,说明此推文为视频推文,得到T11在I11上的第十一目标数量num11及num11个T11在I11上的坐标信息,模板匹配模块将T11在I11上的坐标信息及数量num11发送至博主采集模块,将T11、I11、T11在I11上的坐标信息记录到E,转步骤7.21,否则说明此推文为文字推文,将T11、I11、T11在I11上定位失败信息记录至E,转步骤7.11;
7.11推文采集模块通过PyWinAuto和PyAutoGui工具控制鼠标自动移至文本位置,执行长按操作至界面上出现“全选”、“复制”两个按钮;
7.12推文采集模块向模板匹配模块发送定位“全选”按钮指令;
7.13模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十二目标图像I12,通过模板匹配模块读取S的界面元素“全选”按钮作为第十二模板图像T12,模板匹配模块采用5.5步所述模板匹配定位法对T12在I12上进行定位,得到T12在I12上的数量num12及num12个T12在I12上的坐标信息,因页面必然存在一个“全选”按钮,因此不存在定位失败的情况,且“全选”按钮一般一个页面只有一个,故且num12=1。模板匹配模块将T12在I12上的坐标信息及数量num12发送至博主采集模块,将T12、I12、T12在I12上的坐标信息记录到E,转步骤7.14;
7.14推文采集模块控制鼠标移动至“全选”按钮坐标位置,执行点击操作;
7.15推文采集模块向模板匹配模块发送定位“复制”按钮指令;
7.16模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十三目标图像I13,通过模板匹配模块读取S的界面元素“复制”按钮作为第十三模板图像T13,模板匹配模块采用5.5步所述模板匹配定位法对T13在I13上进行定位,得到T13在I13上的第十三目标数量num13及num13个T13在I13上的坐标信息,因页面必然存在一个“复制”按钮,因此不存在定位失败的情况,且“复制”按钮一般一个页面只有一个,故num13=1。模板匹配模块将T13在I13上的坐标信息及数量num13发送至博主采集模块,将T13、I13、T13在I13上的坐标信息记录到E,转步骤7.17;
7.17推文采集模块控制鼠标移动至“复制”按钮坐标位置,执行点击操,将文字推文的全部内容进行复制操作,即将原始数据α写入剪切板;
7.18推文采集模块向数据整编模块发送读取指令;
7.19数据整编模块读取剪切板信息,依据数据存储格式F将原始数据α进行格式整编,形成目标数据α1;
7.20数据整编模块将目标数据α1依照采集路径P,存储至采集路径P下的目标数据池A中。
7.21推文采集模块向模板匹配模块发送定位“返回_2”按钮的指令;
7.22模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十四目标图像I14,模板匹配模块读取S的界面元素“返回_2”按钮作为第十四模板图像T14,模板匹配模块采用5.5步所述模板匹配定位法对T14在I14上进行定位,得到T14在I14上的第十四目标数量num14及num14个T14在I14上的坐标信息,因页面必然存在一个“返回_2”按钮,因此不存在定位失败的情况,且num14=1。模板匹配模块将T14在I14上的坐标信息及数量num14发送至博主采集模块,将T14、I14、T14在I14上的坐标信息记录到E,转步骤7.23;
7.23推文采集模块控制鼠标移动,点击“返回_2”按钮,令n9=n9+1,若n9≤num9,转步骤7.7,否则转步骤7.24;
7.24推文采集模块向模板匹配模块发送定位“无更多推文”图标的指令;
7.25模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十五目标图像I15,通过模板匹配模块读取S的界面元素“无更多推文”图标作为第十五模板图像T15,模板匹配模块采用5.5步所述模板匹配定位法对T15在I15上进行定位,得到T15在I15上的第十五目标数量num15及num15个T15在I15上的坐标信息。若定位成功,模板匹配模块将T15在I15上的坐标信息及数量num15发送至博主采集模块,且num15=1,将T15、I15、T15在I15上的坐标信息记录到E,转步骤7.27,若定位失败,将T15在I15上定位失败的结果发送至博主采集模块,将T15、I15、T15在I15上定位失败的结果记录到E,转步骤7.26;
7.26推文采集模块此时接收到定位失败的结果,通过PyWinAuto和PyAuto Gui工具控制鼠标拖拽,进行自动翻页操作,转步骤7.3(未识别到““无更多推文”图标,说明还存在推文,执行翻页操作,继续采集推文);
7.27推文采集模块此时接收到“无更多推文”所在位置的坐标信息;
7.28推文采集模块向模板匹配模块发送定位“返回_3”按钮的指令;
7.29模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十六目标图像I16,通过模板匹配模块读取S的界面元素“返回_3”按钮作为第十六模板图像T16,模板匹配模块采用5.5步所述模板匹配定位法对T16在I16上进行定位,得到T16在I16上的第十六目标数量num16及num16个T16在I16上的坐标信息,因页面必然存在一个“返回_3”按钮,因此不存在定位失败的情况,且num16=1。模板匹配模块将T16在I16上的坐标信息及num16发送至博主采集模块,将T16、I16、T16在I16上的坐标信息记录到E;
7.30推文采集模块控制鼠标移动,点击“返回_3”按钮,令f=f+1,若f≤FF,转至步骤7.3,否则转第八步。
第八步,结束。
至此,对关注列表List_1内的博主的所有文字推文采集完毕,得到了按照既定格式整编,存储在规定路径下的目标数据池A。
本发明与现有技术相比,具有以下技术效果:
1.在无标签场景下的信息采集任务的难点在于无HTML标签、无内部API接口、无法识别界面元素,因此无法依赖数据采集的传统方法,即爬虫技术进行信息采集。本发明通过模板匹配模块与博主采集模块、推文采集模块的交互,弥补了RPA技术的无法依赖爬虫技术进行信息采集的灵活性差、程序脆弱性等先天缺陷,很好的克服了在此类平台进行数据采集的上述难题,本发明可以使计算机尽可能接近人类的行为方式进行数据的筛选、采集,并实现无人自主的数据采集方式。对于一些庞大规模的数据采集任务,人工采集几乎不可能实现,同时采集任务本质上数据低难度、高重复性任务,本发明在可以高效率、高准确率完成庞大规模的数据采集任务的同时,将人工从高重复、低价值的任务中解放出来,是其可以专注于更具创造性的工作,。
2.流程日志E提升了本发明的可追溯性。在全流程中,每次定位操作都由流程日志E记录,报错日志E可使技术人员在全流程结束后进行溯源,以便进行后续优化工作。对于庞大规模的数据采集任务,人工进行时很难实现的,而近些年出现的商业采集器其灵活性极地,不能专注于某领域的采集工作,同时其本质上属于爬虫程序,对某平台进行大规模的数据采集时,严重增加了平台的负荷,存在威胁平台安全性的隐患。而本发明基于RPA技术尽可能模仿人类的行为习惯,因此不会对平台产生带宽负担,在构建关注列表、采集推文的步骤中都增加了筛选的过程,能有效筛选出用户需要的博主及噪音推文得到清洁度较高的细粒度数据集,不需要额外做数据处理,增加了本发明的智能性。
3.传统的基于RPA技术的数据采集机器人较多依赖坐标定位,即在编写程序的过程中设置好需点击位置的坐标,当流程执行至此处时,便控制鼠标移动至坐标处,进行点击等操作,此种方法虽然使程序整体更为轻量,但程序的流程正确性难以保障,同时增加了程序脆弱性,因为,一旦数据采集的平台由于版本等问题界面出现了变动,传统的基于RPA技术的数据采集方法便无法按照就成正常进行,易出现数据大规模损坏的情况。而本发明提出的模板检测定位和模板检测筛选法,为基于RPA技术的数据采集机器人赋予眼睛,在每次执行鼠标操作时,都进行目标检测,大大减少了流程异常等问题的发生。
附图说明
图1为本发明构建的面向推荐平台的RPA数据采集系统总体结构图;
图2为博主名片实例图;
图3为本发明总体流程图。
具体实施方式
如图3所示,本发明包括以下步骤:
第一步,构建面向推荐平台的RPA数据采集系统。该系统如图1所示,由客户端、数据整编模块、推文采集模块、模板匹配模块、博主采集模块、流程日志E、目标数据池A以及主题标签数据池S构成。
客户端与数据整编模块、主题标签数据池S相连。客户端将用户编辑的数据采集路径P和数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,将主题标签存贮到主题标签数据池S。主题标签分为两种,一种为主题关键词库K中所有关键词元素的图像,一种为流程需要的界面元素的图像。主题关键词库K指待采集数据的主题,主题关键词库共NN个元素,NN为正整数,如军事相关的系列词库、财经相关系列词库等,此处以军事相关的系列词库为例,K={“军事”,“兵器”,“航空”,“航天”,“武器”,“兵工”,“导航”,“飞机”,“解放军”,“陆军”,“海军”,“空军”,“卫星”,“国防”},其中NN=14,K1=“军事”,…,KNN=“国防”;界面元素指在流程中所涉及到的按钮或图标,如“返回”按钮、“返回_1”按钮、“返回_2”按钮、“返回_3”按钮、“关注”按钮、“未关注”按钮、“关闭”按钮、“已无更多推文”图标、“已无更多博主”图标,“图片推文特征”图标,“视频推文特征”图标等,格式均为jpg。数据采集路径P指当采集到目标数据后,存放目标数据的路径位置;数据存储格式F指对采集到的目标数据进行统一整编的格式要求。
主题标签数据池S与客户端、模板匹配模块相连。主题标签数据池S以文档的形式存在,从客户端接收主题标签,对主题标签进行存储。令S共存储MM个主题标签,MM为正整数,其中关键词元素NN个,界面元素共NM个,MM=NN+NM。主题标签数据池S供模板匹配模块进行定位和筛选操作时查询,作为定位和筛选操作时的模板图片。
模板匹配模块与主题标签数据池S、推文采集模块、博主采集模块相连。模板匹配模块是一个模板匹配模型,当从推文采集模块或博主采集模块接收到定位元素xx(xx为主题标签数据池S中的任一界面元素)指令时,截取推荐平台界面的图像作为目标图像I,读取主题标签数据池S中对应的xx元素作为模板图片T,在I上对T进行定位;若定位成功,模板匹配模块发送T的坐标信息至推文采集模块或博主采集模块;若定位失败,则说明当前界面I内没有T;模板匹配模块发送定位结果(如定位成功,定位结果即为元素xx在I中的坐标信息,若定位失败,定位结果即为定位失败的信息)至推文采集模块或博主采集模块。将定位操作的I、T、定位结果存入流程日志E。
当从推文采集模块或博主采集模块接收到筛选主题关键词指令(是一个判断博主是否为K领域内博主的指令)时,模板匹配模块对推荐平台的界面进行实时截图,截取推荐平台界面的图像作为第一目标图像I1,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,筛选结果为“I1筛选到了关键词”,若筛选失败,筛选结果为“I1未筛选到关键词”,将筛选结果发送至推文采集模块或博主采集模块。
流程日志E负责存储每次模板匹配模块执行的结果,以便追溯整个流程,E以文档形式存在,I、T的格式为jpg,定位结果以文本文档(.txt)格式存储在E中。
博主采集模块与模板匹配模块、推文采集模块相连。博主采集模块是一个筛选、关注主题关键词库K领域内博主的流程模型,根据是否存在未关注博主构建关注列表,并对关注列表进行扩充。流程模型指依据事先编写好的流程,模仿人类动作、行为,代替人类来完成某件工作的模型。
当需要对界面元素定位时,博主采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,博主采集模块将筛选主题关键词指令发送至模板采集模块,根据从模板采集模块得到的筛选结果,控制鼠标执行下一步动作。当关注列表中不存在K领域的博主时,向推文采集模块发送“任务结束”信号。
推文采集模块与模板匹配模块、数据整编模块、博主采集模块相连。推文采集模块是一个筛选、采集文字推文的流程模型。推文采集模块接收到博主采集模块发送的“任务结束”信号后,开始执行工作。推文采集模块按关注列表从上至下的顺序依次进入博主的推文界面,将推荐平台中的原始数据写入剪切板并向数据整编模块发送读取指令。
当需要对界面元素进行定位时,推文采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,推文采集模块将筛选主题关键词指令发送至模板匹配模块,根据从模板匹配模块得到的筛选结果,控制鼠标执行下一步动作。最终实现将关注列表中全部博主的所有文字推文存入剪切板,并向数据整编模块发送读取指令。
数据整编模块与客户端、推文采集模块、目标数据池A相连。数据整编模块是负责整编、存储数据的模块。数据整编模块接收到客户端发送的数据采集路径P、数据存储格式F后进行初始化。当接收到推文采集模块发来的读取指令后,读取剪切板中的原始数据α,按照数据存储格式F将α整编为目标数据α1,将α1按照数据采集路径P保存至目标数据池A。
目标数据池A为存储目标数据α1的数据池,以文档形式存在。α1可以以.
txt、.doc、.docx、.xls或.xlsx形成存储,依据具体任务中的数据存储格式F而定。
第二步,客户端将数据采集路径P、数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,将主题标签存贮到主题标签数据池S。令K中共有NN项主题关键词,NN为正整数。
第三步,用户依据主题关键词库K构建主题关键词数据池S,令S中共MM个元素,方法是:
3.1令循环变量p=1;
3.2用户截取K中第p个主题关键词在推荐平台上的图像,命名为Kp.jpg,格式为jpg,添加在主题标签数据池S中,令p=p+1,若p≤NN,转步骤3.2继续添加,否则转步骤3.3;
3.3用户对在流程中所涉及到的界面元素的数量进行统计,如“返回”按钮、“关注”按钮、“未关注”按钮、“关闭”按钮、“已无更多推文”图标、“已无更多博主”图标,“图片推文特征”图标,“视频推文特征”图标,令界面元素共NM个;
3.4令循环变量m=1;
3.5用户对界面元素进行截图,以“界面元素名.jpg”命名,如“返回.jpg”,格式为jpg,添加在主题标签数据池S中,令m=m+1,若m≤NM,则转3.5继续添加,否则主题标签数据池S构建完成,转第三步;
至此主题标签数据池S构建完成,由用户准备,以文档形式存在,共MM个元素,MM=NN+NM为正整数,Si(i∈[1,NN])为关键词(步骤3.2形成)部分,Si(i∈[NN+1,MM])为界面元素部分。对于2.2的例子K,S={军事.jpg,兵器.jpg,航空.jpg,航天.jpg,武器.jpg,兵工.jpg,导航.jpg,飞机.jpg,解放军.jpg,陆军.jpg,海军.jpg,空军.jpg,卫星.jpg,国防.jpg,返回.jpg,未关注.jpg,关注.jpg,已无更多推文.jpg,已无更多博主.jpg,关闭.jpg},其中MM=21,Si(i∈[1,14])为关键词部分,Si(i∈[15,21])属于界面元素部分。
第四步,博主采集模块利用win32gui.FindWindow工具获取推荐平台的句柄,将推荐平台的窗口设置为最前窗口。
第五步,博主采集模块筛选并关注主题关键词库K内的博主,根据推荐平台的实时界面是否存在未关注博主构建推荐平台账号的关注列表List_1,方法为:
5.1令循环变量f=1,初始化List_1中最终博主数FF=0,初始化关注列表List_1为空;
5.2博主采集模块向模板匹配模块发送定位“关注”按钮指令(此时元素xx为“关注”按钮);
5.3模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第n个未关注博主的博主名片作为目标图像,记为I,如图2所示,博主名片包括“关注”.jpg、博主名称、博主简介;
5.4模板匹配模块读取主题标签数据池S中的“关注”.jpg图像,作为模板图像,记为T;
5.5模板匹配模块接收定位“关注”按钮指令,采用模板匹配定位法对T在I上进行定位,若定位成功,则得到模板图像T在目标图像I上的位置坐标和T在I上的数量num,若定位失败,则得到定位失败的结果,方法为:
5.5.1利用numpy.shape[]函数获得I的宽、高,分别记为wI,hI;
5.5.2利用numpy.shape[]获得T的宽、高,记为wT,hT;
5.5.3将I与T的重叠区域令为区域Z;
5.5.4模板匹配模块采用相似度矩阵计算方法计算T与I的相似度矩阵M,M的规模为[wI-wT,hI-hT](即wI-wT列,hI-hT行),方法为:在I上按照像素点遍历的顺序(从左至右,从上至下)依次移动T,每次移动一个像素点单位,利用opencv函数库中的标准相关匹配法计算T与I之间的相似度,同时将每次移动得到的T与I之间的相似度按行优先存储顺序存储在相似度矩阵M中,直到完成全部的移动和相似度计算;
5.5.5模板匹配模块采用目标定位方法根据M计算I中的目标个数及坐标位置,得到目标个数num及num个目标中心点在I中的坐标,方法是:设置阈值R,针对界面元素的定位,将R设置为0.80。若M中有num个大于R的值,则将第n个大于R的值对应的I中的点记为(r1n,r2n),并将该点作为目标区域的左上角,则第n个目标区域的中心点坐标为即为第n个目标所在位置。此时I中存在num个T,num为I中的目标个数,n为整数且1≤n≤num。
5.5.6模板匹配模块将定位到的目标个数num及num个目标所在位置的坐标信息发送给博主采集模块,将T、I、num个目标所在位置的坐标信息保存至E,转5.6;若M中没有大于R的值,则说明未定位到目标,说明定位失败,将“定位失败”消息发送至博主采集模块,将T、I、定位失败结果保存至E,转5.6;
5.6若博主采集模块从模板匹配模块收到目标所在位置坐标信息,转步骤5.7;若博主采集模块接收到定位失败消息,则令f=0,即关注列表中不存在未关注博主,转第六步。
5.7令目标循环变量n=1;
5.8博主采集模块向模板匹配模块发送筛选主题关键词的指令;
5.9模板匹配模块将目标图像I作为第一目标图像I1;
5.10模板匹配模块接收到筛选主题关键词的指令,采用模板匹配筛选法,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,则I1的名称及简介中含有S中某个主题关键词Si,若筛选失败,则说明I1的名称及简介中不含有S中任何主题关键词,方法为:
5.10.1令主题关键词序号i=1;
5.10.2读取S中第i个主题关键词Si作为第一模板图像T1;
5.10.3利用numpy.shape[]函数获得I1的宽、高,分别记为wI1,hI1;利用numpy.shape[]获得T1的宽、高,分别记为wT1,hT1,令I1与T1的重叠区域为第一重叠区域Z1;
5.10.4模板匹配模块采用5.5.4所述相似度矩阵计算方法计算T1与I1的第一相似度矩阵M1,M1的规模为[wI1-wT1,hI1-hT1];
5.10.5模板匹配模块采用5.5.5所述目标定位方法根据M1计算I1中的目标个数及坐标位置,若M1中存在大于R的值,则说明说明第n个目标的名称及简介中含有Si,得到第一目标个数num1及num1个目标中心点在I1中的坐标,将T1、I1、T1在I1上的坐标信息保存至E,转5.11;若M1中没有大于R的值,则说明第n个目标的名称及简介中不含Si,令i=i+1,若i≤NN,转步骤5.10.2继续定位K中下一关键词;若i>NN,说明第n个博主的名称及简介中不含S中的任何主题关键词,转步骤5.13;
5.11博主采集模块采用PyWinAuto和PyAutoGui两个工具实现对鼠标的自动化控制,控制鼠标移动至第n个目标的坐标处,执行点击操作,即点击“关注”按钮,将该博主添加至推荐平台账号的关注列表List_1中,即令List_1[f]存储博主标号;令f=f+1,令FF=f,转步骤5.12。
5.12令n=n+1,若n≤num,说明I1还存在未筛选的未关注博主,转步骤5.10;若n>num,说明已识别到的未关注博主的主题关键词已全部筛选完毕,需重新识别推荐平台的实时界面的未关注博主位置,转步骤5.2;
5.13博主采集模块向模板匹配模块发送定位“关闭”按钮指令;
5.14模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第二目标图像I2,模板匹配模块读取S的界面元素“关闭”按钮作为第二模板图像T2,模板匹配模块采用5.5步所述模板匹配定位法对T2在I2上进行定位,得到T2在I2上的数量num2及num2个T2在I2上的坐标信息,因页面必然存在一个“关闭”按钮,因此不存在定位失败的情况,且“关闭”按钮一般一个页面只有一个,故num2=1,模板匹配模块将T2在I2上的坐标信息及数量num2发送至博主采集模块,将T2、I2、T2在I2上的坐标信息记录到E,令n=n+1,若n≤num,转步骤5.8;若n>num,转步骤5.2;
第六步,博主采集模块对List_1中的博主标号进行遍历,从List_1筛选出K领域内的博主进行关注,扩充关注列表List_1,方法为:
6.1令博主标号f=1;
6.2博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标从上至下依次点击List_1中的博主标号对应的博主头像,进入List_1[f]中的博主标号对应的推文界面;
6.3博主采集模块向模板匹配模块发送定位“关注列表”按钮的指令;
6.4模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第三目标图像I3,通过模板匹配模块读取S的界面元素“关注列表”按钮为第三模板图像T3,模板匹配模块采用5.5步所述模板匹配定位法对T3在I3上进行定位,得到T3在I3上的第三目标数量num3及num3个T3在I3上的坐标信息,将得到的“关注列表”按钮所在位置的坐标信息及num3发送至博主采集模块,将num3个T3在I3上的的坐标信息、T3、I3记录到E,转步骤6.5;若定位失败,将“关注列表”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T3、I3记录到E,转步骤6.6;
6.5博主采集模块接收到“关注列表”按钮所在位置的坐标信息,控制鼠标移动至“关注列表”按钮所在位置的坐标,执行点击操作,进入List_1[f]的关注列表界面,转步骤6.9;
6.6博主采集模块接收到“关注列表”按钮定位失败的结果,向模板匹配模块发送定位“返回”按钮的指令;
6.7模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第四目标图像I4,通过模板匹配模块读取S的界面元素“返回”按钮作为第四模板图像T4,模板匹配模块采用5.5步所述模板匹配定位法对T4在I4上进行定位,得到T4在I4上的第四目标数量num4及num4个T4在I4上的坐标信息,因本页面必然存在一个“返回”按钮,因此不存在定位失败的情况,且“返回”按钮一般一个页面只有一个,故num4=1。模板匹配模块将T4在I4上的坐标信息及数量num4发送至博主采集模块,将T4、I4、T4在I4上的坐标信息记录到E,转步骤6.8;
6.8博主采集模块接收到“返回”按钮位置的坐标信息,控制鼠标移动至“返回”按钮位置的坐标,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2;若f>FF,转第七步;
6.9博主采集模块向模板匹配模块发送定位“未关注”按钮的指令;
6.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第五目标图像I5,通过模板匹配模块读取S的界面元素“未关注”按钮为第五模板图像T5,模板匹配模块采用5.5步所述模板匹配定位法对T5在I5上进行定位,得到T5在I5上的第五目标数量num5及num5个T5在I5上的坐标信息,本页面可能存在多个T5。将T5在I5上的的坐标信息及数量num5发送至博主采集模块,将T5在I5上的坐标信息、T5、I5记录到E,转步骤6.11;若定位失败,则将“未关注”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T5、I5记录到E,转步骤6.14;
6.11博主采集模块向模板匹配模块发送筛选主题关键词的指令及T5在I5上的坐标信息及num5;
6.12令循环变量m=1;
6.13模板匹配模块接收到筛选主题关键词的指令,模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第m个未关注博主所在的实时界面作为第六目标图像I6,采用5.10所述的模板匹配筛选法对I6的名称及简介进行S中主题关键词的筛选,若筛选成功则说明I6中含有S中的某个主题关键词Si,将筛选结果“I6筛选到了关键词”发送至博主采集模块,转步骤6.14;若筛选失败,则说明I6的名称及简介中不含有S中的任何主题关键词,将筛选结果“I6未筛选到关键词”发送至博主采集模块,转步骤6.15;
6.14博主采集模块控制鼠标,移动、点击“未关注”按钮,将I6上的第m个未关注博主添加至推荐平台账号的关注列表,令FF=FF+1,令m=m+1,若m≤num5,转步骤6.13;若m>num5,转步骤6.15;
6.15博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标拖拽,在List_1[f]的关注列表界面进行自动翻页操作;
6.16博主采集模块向模板采集模块发送定位“无更多博主”图标的指令;
6.17模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第七目标图像I7,模板匹配模块读取S的界面元素“无更多博主”图标作为第七模板图像T7,模板匹配模块采用5.5步所述模板匹配定位法对T7在I7上进行定位,得到T7在I7上的数量num7及num7个T7在I7上的坐标信息。若定位成功,模板匹配模块将num7个T7在I7上的坐标信息及数量num7发送至博主采集模块,且“无更多博主”图标一般一个页面只有一个,故num7=1,将T7、I7、T7在I7上的坐标信息记录到E,转步骤6.18;若定位失败,将T7在I7上定位失败的结果发送至博主采集模块,将T7、I7、T7在I7上定位失败的结果记录到E,转步骤6.9;
6.18博主采集模块接收到“无更多博主”图标坐标信息,向模板匹配模块发送定位“返回_1”按钮的指令;
6.19模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第八目标图像I8,通过模板匹配模块读取S的界面元素“返回_1”按钮作为第八模板图像T8,模板匹配模块采用5.5步所述模板匹配定位法对T8在I8上进行定位,得到T8在I8上的数量num8及num8个T8在I8上的坐标信息,因页面必然存在一个“返回_1”按钮,因此不存在定位失败的情况,且“返回_1”按钮一般一个页面只有一个,故num8=1。模板匹配模块将T8在I8上的坐标信息及数量num8发送至博主采集模块,将T8、I8、T8在I8上的坐标信息记录到E,转步骤6.20;
6.20博主采集模块接收到“返回_1”按钮的坐标信息,控制鼠标移动至坐标位置,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2,否则说明List_1[f]中所有博主的关注列表已经筛选完成,转步骤6.21;
6.21博主采集模块向推文采集模块发送任务结束信息,转第七步。
第七步,推文采集模块将List_1中博主的推文作为原始数据存储至剪切板中,数据整编模块从剪切板中读取原始数据,并将推荐平台中的推文按需求整编,采集至目标数据池A,方法为:
7.1推文采集模块从博主采集模块接收任务结束信息;
7.2令循环变量f=1;
7.3由于推荐平台的List_1[f]界面每一页等距显示每个博主,因此博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标点击博主头像,进入关注列表List_1[f]的推文界面;
7.4进入List_1[f]的推文界面后,界面中有多个博主的头像,其中界面顶部60×60像素大小的图像位置固定,除此之外,每条推文中会带有一个大小为27×27像素的小头像,其位置不固定。推文采集模块向模板匹配模块发送定位小头像指令;
7.5模板匹配模块利用pyautogui.screenshot工具截取List_1[f]的推文界面图像作为第九目标图像I9,模板匹配模块截取60×60像素的博主头像图像,并调整至原本的0.45倍,得到27×27xp大小的头像图作为第九模板图像T9;模板匹配模块采用5.5步所述模板匹配定位法对T9在I9上进行定位,得到T9在I9上的数量num9及num9个T9在I9上的坐标信息(其中第n9个T9在I9上的坐标为 n9∈[1,num9])。若定位成功,模板匹配模块将T9在I9上的坐标信息及数量num9发送至博主采集模块,将T9、I9、T9在I9上的坐标信息记录到E,转步骤7.6;若定位失败,将T9在I9上定位失败的结果发送至博主采集模块,将T9、I9、T9在I9上定位失败的结果记录到E,转步骤7.28;
7.6令循环变量n9=1;
7.8博主采集模块向模板匹配模块发送定位“图片推文特征”的指令;
7.9模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台第n9篇推文的界面作为第十目标图像I10,模板匹配模块读取S的界面元素“图片推文特征”作为第十模板图像T10,模板匹配模块采用5.5步所述模板匹配定位法对T10在I10上进行定位,若定位成功,说明此推文为图片推文,得到T10在I10上的第十目标数量num10及num10个T10在I10上的坐标信息,模板匹配模块将T10在I10上的坐标信息及num10发送至博主采集模块,将T10、I10、T10在I10上的坐标信息记录到E,转步骤7.21,否则,说明此推文不是图片推文,将T10、I10、T10在I10上定位失败信息记录至E,转步骤7.10;
7.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十一目标图像I11,模板匹配模块读取S的界面元素“视频推文特征”作为第十一模板图像T11,模板匹配模块采用5.5步所述模板匹配定位法对T11在I11上进行定位,若定位成功,说明此推文为视频推文,得到T11在I11上的第十一目标数量num11及num11个T11在I11上的坐标信息,模板匹配模块将T11在I11上的坐标信息及数量num11发送至博主采集模块,将T11、I11、T11在I11上的坐标信息记录到E,转步骤7.21,否则说明此推文为文字推文,将T11、I11、T11在I11上定位失败信息记录至E,转步骤7.11;
7.11推文采集模块通过PyWinAuto和PyAutoGui工具控制鼠标自动移至文本位置,执行长按操作至界面上出现“全选”、“复制”两个按钮;
7.12推文采集模块向模板匹配模块发送定位“全选”按钮指令;
7.13模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十二目标图像I12,通过模板匹配模块读取S的界面元素“全选”按钮作为第十二模板图像T12,模板匹配模块采用5.5步所述模板匹配定位法对T12在I12上进行定位,得到T12在I12上的数量num12及num12个T12在I12上的坐标信息,因页面必然存在一个“全选”按钮,因此不存在定位失败的情况,且“全选”按钮一般一个页面只有一个,故且num12=1。模板匹配模块将T12在I12上的坐标信息及数量num12发送至博主采集模块,将T12、I12、T12在I12上的坐标信息记录到E,转步骤7.14;
7.14推文采集模块控制鼠标移动至“全选”按钮坐标位置,执行点击操作;
7.15推文采集模块向模板匹配模块发送定位“复制”按钮指令;
7.16模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十三目标图像I13,通过模板匹配模块读取S的界面元素“复制”按钮作为第十三模板图像T13,模板匹配模块采用5.5步所述模板匹配定位法对T13在I13上进行定位,得到T13在I13上的第十三目标数量num13及num13个T13在I13上的坐标信息,因页面必然存在一个“复制”按钮,因此不存在定位失败的情况,且“复制”按钮一般一个页面只有一个,故num13=1。模板匹配模块将T13在I13上的坐标信息及数量num13发送至博主采集模块,将T13、I13、T13在I13上的坐标信息记录到E,转步骤7.17;
7.17推文采集模块控制鼠标移动至“复制”按钮坐标位置,执行点击操,将文字推文的全部内容进行复制操作,即将原始数据α写入剪切板;
7.18推文采集模块向数据整编模块发送读取指令;
7.19数据整编模块读取剪切板信息,依据数据存储格式F将原始数据α进行格式整编,形成目标数据α1;
7.20数据整编模块将目标数据α1依照采集路径P,存储至采集路径P下的目标数据池A中。
7.21推文采集模块向模板匹配模块发送定位“返回_2”按钮的指令;
7.22模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十四目标图像I14,模板匹配模块读取S的界面元素“返回_2”按钮作为第十四模板图像T14,模板匹配模块采用5.5步所述模板匹配定位法对T14在I14上进行定位,得到T14在I14上的第十四目标数量num14及num14个T14在I14上的坐标信息,因页面必然存在一个“返回_2”按钮,因此不存在定位失败的情况,且num14=1。模板匹配模块将T14在I14上的坐标信息及数量num14发送至博主采集模块,将T14、I14、T15在I15上的坐标信息记录到E,转步骤7.23;
7.23推文采集模块控制鼠标移动,点击“返回_2”按钮,令n9=n9+1,若n9≤num9,转步骤7.7,否则转步骤7.24;
7.24推文采集模块向模板匹配模块发送定位“无更多推文”图标的指令;
7.25模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十五目标图像I15,通过模板匹配模块读取S的界面元素“无更多推文”图标作为第十五模板图像T15,模板匹配模块采用5.5步所述模板匹配定位法对T15在I15上进行定位,得到T15在I15上的第十五目标数量num15及num15个T15在I15上的坐标信息。若定位成功,模板匹配模块将T15在I15上的坐标信息及数量num15发送至博主采集模块,且num15=1,将T15、I15、T15在I15上的坐标信息记录到E,转步骤7.27,若定位失败,将T15在I15上定位失败的结果发送至博主采集模块,将T15、I15、T15在I15上定位失败的结果记录到E,转步骤7.26;
7.26推文采集模块此时接收到定位失败的结果,通过PyWinAuto和PyAuto Gui工具控制鼠标拖拽,进行自动翻页操作,转步骤7.3;
7.27推文采集模块此时接收到“无更多推文”所在位置的坐标信息;
7.28推文采集模块向模板匹配模块发送定位“返回_3”按钮的指令;
7.29模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十六目标图像I16,通过模板匹配模块读取S的界面元素“返回_3”按钮作为第十六模板图像T16,模板匹配模块采用5.5步所述模板匹配定位法对T16在I16上进行定位,得到T16在I16上的第十六目标数量num16及num16个T16在I16上的坐标信息,因页面必然存在一个“返回_3”按钮,因此不存在定位失败的情况,且num16=1。模板匹配模块将T16在I16上的坐标信息及num16发送至博主采集模块,将T16、I16、T16在I16上的坐标信息记录到E;
7.30推文采集模块控制鼠标移动,点击“返回_3”按钮,令f=f+1,若f≤FF,转至步骤7.3,否则转第八步。
第八步,结束。
Claims (8)
1.一种面向推荐平台的RPA数据采集方法,其特征在于包括以下步骤:
第一步,构建面向推荐平台的RPA数据采集系统;该系统由客户端、数据整编模块、推文采集模块、模板匹配模块、博主采集模块、流程日志E、目标数据池A以及主题标签数据池S构成;
客户端与数据整编模块、主题标签数据池S相连;客户端将用户编辑的数据采集路径P和数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,将主题标签存贮到主题标签数据池S;主题标签分为两种,一种为主题关键词库K中所有关键词元素的图像,一种为流程需要的界面元素的图像;主题关键词库K指待采集数据的主题,界面元素指在流程中所涉及到的按钮或图标;数据采集路径P指当采集到目标数据后,存放目标数据的路径位置;数据存储格式F指对采集到的目标数据进行统一整编的格式要求;
主题标签数据池S与客户端、模板匹配模块相连;主题标签数据池S以文档的形式存在,从客户端接收主题标签,对主题标签进行存储;
模板匹配模块与主题标签数据池S、推文采集模块、博主采集模块相连;模板匹配模块是一个模板匹配模型,当从推文采集模块或博主采集模块接收到定位元素xx指令时,xx为主题标签数据池S中的任一界面元素,截取推荐平台界面的图像作为目标图像I,读取S中的xx元素作为模板图片T,在I上对T进行定位;若定位成功,模板匹配模块发送T的坐标信息至推文采集模块或博主采集模块;若定位失败,则说明I内没有T;模板匹配模块发送定位结果至推文采集模块或博主采集模块;将定位操作的I、T、定位结果存入流程日志E;若定位成功,定位结果即为元素xx在I中的坐标信息,若定位失败,定位结果即为定位失败的信息;
当从推文采集模块或博主采集模块接收到筛选主题关键词指令时,模板匹配模块对推荐平台的界面进行实时截图,截取推荐平台界面的图像作为第一目标图像I1,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,筛选结果为“I1筛选到了关键词”若筛选失败,筛选结果为“I1未筛选到关键词”,将筛选结果发送至推文采集模块或博主采集模块;
当从推文采集模块或博主采集模块接收到筛选主题关键词指令时,模板匹配模块对S中的关键词元素依次筛选;即截取推荐平台界面的图像作为目标图像I′,依次读取S中关键词元素作为模板图片T′,在I′上对T′进行定位;若定位成功,则说明I′所属界面的博主携带了T′对应的关键词元素,为K领域内博主,筛选结果为“I′筛选到了关键词”;若定位失败,则说明I′不存在T′,该博主不为K领域内的博主,筛选结果为“T′未筛选到关键词”;将筛选结果发送至推文采集模块或博主采集模块;
流程日志E负责存储每次模板匹配模块执行的结果;
博主采集模块与模板匹配模块、推文采集模块相连;博主采集模块是一个筛选、关注主题关键词库K领域内博主的流程模型,根据是否存在未关注博主构建关注列表,并对关注列表进行扩充;当需要对界面元素定位时,博主采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,博主采集模块将筛选主题关键词指令发送至模板采集模块,根据从模板采集模块得到的筛选结果,控制鼠标执行下一步动作;当关注列表中不存在K领域的博主时,向推文采集模块发送“任务结束”信号;
推文采集模块与模板匹配模块、数据整编模块、博主采集模块相连;推文采集模块是一个筛选、采集文字推文的流程模型;推文采集模块接收到博主采集模块发送的“任务结束”信号后,开始执行工作;推文采集模块按关注列表的顺序依次进入博主的推文界面,将推荐平台中的原始数据写入剪切板并向数据整编模块发送读取指令;当需要对界面元素进行定位时,推文采集模块将定位元素xx指令发送至模板采集模块,根据从模板匹配模块得到的定位结果,控制鼠标执行下一步动作;当需要对主题关键词筛选时,推文采集模块将筛选主题关键词指令发送至模板匹配模块,根据从模板匹配模块得到的筛选结果,控制鼠标执行下一步动作;实现将关注列表中全部博主的所有文字推文存入剪切板,并向数据整编模块发送读取指令;
数据整编模块与客户端、推文采集模块、目标数据池A相连;数据整编模块接收到客户端发送的数据采集路径P、数据存储格式F后进行初始化;当接收到推文采集模块发来的读取指令后,读取剪切板中的原始数据α,按照数据存储格式F将α整编为目标数据α1,将α1按照数据采集路径P保存至目标数据池A;
目标数据池A为存储目标数据α1;
第二步,客户端将数据采集路径P、数据存储格式F发送至数据整编模块,并根据用户编辑的主题关键词库K及流程需要的界面元素准备主题标签,主题关键词库K共NN个元素,NN为正整数;
第三步,用户依据K构建主题关键词数据池S,令S中共MM个元素,MM=NN+NM,当i∈[1,NN]时,Si为主题关键词,当i∈[NN+1,MM]是,Si为界面元素;
第四步,博主采集模块利用win32gui.FindWindow工具获取推荐平台的句柄,将推荐平台的窗口设置为最前窗口;
第五步,博主采集模块筛选并关注主题关键词库K内的博主,根据推荐平台的实时界面是否存在未关注博主构建推荐平台账号的关注列表List_1,方法为:
5.1令循环变量f=1,初始化List_1中最终博主数FF=0,初始化关注列表List_1为空;
5.2博主采集模块向模板匹配模块发送定位“关注”按钮指令,此时元素x x为“关注”按钮;
5.3模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第n个未关注博主的博主名片作为目标图像,记为I;
5.4模板匹配模块读取主题标签数据池S中的“关注”.jpg图像,作为模板图像,记为T;
5.5模板匹配模块接收定位“关注”按钮指令,采用模板匹配定位法对T在I上进行定位,若定位成功,则得到模板图像T在目标图像I上的位置坐标和T在I上的数量num,若定位失败,则得到定位失败的结果,方法为:
5.5.1利用numpy.shape[]函数获得I的宽、高,分别记为wI,hI;
5.5.2利用numpy.shape[]获得T的宽、高,记为wT,hT;
5.5.3将I与T的重叠区域令为区域Z;
5.5.4模板匹配模块采用相似度矩阵计算方法计算T与I的相似度矩阵M,M的规模为[wI-wT,hI-hT],即wI-wT列,hI-hT行;
5.5.5模板匹配模块采用目标定位方法根据M计算I中的目标个数及坐标位置,得到目标个数num及num个目标中心点在I中的坐标:设置阈值R为0.75-0.90之间,若M中有num个大于R的值,则将第n个大于R的值对应的I中的点记为(r1n,r2n),并将该点作为目标区域的左上角,则第n个目标区域的中心点坐标为即为第n个目标所在位置;此时I中存在num个T,num为I中的目标个数,n为整数且1≤n≤num;
5.5.6模板匹配模块将定位到的目标个数num及num个目标所在位置的坐标信息发送给博主采集模块,将T、I、num个目标所在位置的坐标信息保存至E,转5.6;若M中没有大于R的值,则说明未定位到目标,说明定位失败,将“定位失败”消息发送至博主采集模块,将T、I、定位失败结果保存至E,转5.6;
5.6若博主采集模块从模板匹配模块收到目标所在位置坐标信息,转步骤5.7;若博主采集模块接收到定位失败消息,则令f=0,即关注列表中不存在未关注博主,转第六步;
5.7令目标循环变量n=1;
5.8博主采集模块向模板匹配模块发送筛选主题关键词的指令;
5.9模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第n个未关注博主所在的实时界面,作为第一目标图像I1;
5.10模板匹配模块接收到筛选主题关键词的指令,采用模板匹配筛选法,对I1上第n个博主的名称及简介进行S中主题关键词的筛选,若筛选成功,则I1的名称及简介中含有S中某个主题关键词Si,筛选结果为“I1筛选到了关键词”,并得到第一目标个数num1及num1个目标中心点在I1中的坐标,将T1、I1、T1在I1上的坐标信息保存至E,转5.11;若筛选失败,说明I1的名称及简介中不含有S中任何主题关键词,筛选结果为“I1未筛选到关键词”,转步骤5.13;
5.11博主采集模块采用PyWinAuto和PyAutoGui两个工具实现对鼠标的自动化控制,控制鼠标移动至第n个目标的坐标处,执行点击操作,即点击“关注”按钮,将该博主添加至推荐平台账号的关注列表List_1中,即令List_1[f]存储博主标号;令f=f+1,令FF=f,转步骤5.12;
5.12令n=n+1,若n≤num,转步骤5.10;若n>num,转步骤5.2;
5.13博主采集模块向模板匹配模块发送定位“关闭”按钮指令;
5.14模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第二目标图像I2,模板匹配模块读取S的界面元素“关闭”按钮作为第二模板图像T2,模板匹配模块采用5.5步所述模板匹配定位法对T2在I2上进行定位,得到T2在I2上的数量num2及num2个T2在I2上的坐标信息,且num2=1,模板匹配模块将T2在I2上的坐标信息及数量num2发送至博主采集模块,将T2、I2、T2在I2上的坐标信息记录到E,令n=n+1,若n≤num,转步骤5.8;若n>num,转步骤5.2;
第六步,博主采集模块对List_1中的博主标号进行遍历,从List_1筛选出K领域内的博主进行关注,扩充关注列表List_1,并向推文采集模块发送任务结束信息,转第七步;
第七步,推文采集模块将List_1中博主的推文作为原始数据存储至剪切板中,数据整编模块从剪切板中读取原始数据,并将推荐平台中的推文按需求整编,采集至目标数据池A,方法为:
7.1推文采集模块从博主采集模块接收任务结束信息;
7.2令循环变量f=1;
7.3博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标点击博主头像,进入关注列表List_1[f]的推文界面;
7.4进入List_1[f]的推文界面,推文采集模块向模板匹配模块发送定位小头像指令;小头像指每条推文中带有一个大小为27×27像素的位置不固定的图像;
7.5模板匹配模块利用pyautogui.screenshot工具截取List_1[f]的推文界面图像作为第九目标图像I9,模板匹配模块截取60×60像素的博主头像图像,并调整至原本的0.45倍,得到27×27xp大小的头像图作为第九模板图像T9;模板匹配模块采用5.5步所述模板匹配定位法对T9在I9上进行定位,得到T9在I9上的数量num9及num9个T9在I9上的坐标信息,其中第n9个T9在I9上的坐标为 n9∈[1,num9];若定位成功,模板匹配模块将T9在I9上的坐标信息及数量num9发送至博主采集模块,将T9、I9、T9在I9上的坐标信息记录到E,转步骤7.6;若定位失败,将T9在I9上定位失败的结果发送至博主采集模块,将T9、I9、T9在I9上定位失败的结果记录到E,转步骤7.28;
7.6令循环变量n9=1;
7.8博主采集模块向模板匹配模块发送定位“图片推文特征”的指令;
7.9模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台第n9篇推文的界面作为第十目标图像I10,模板匹配模块读取S的界面元素“图片推文特征”作为第十模板图像T10,模板匹配模块采用5.5步所述模板匹配定位法对T10在I10上进行定位,若定位成功,说明此推文为图片推文,得到T10在I10上的第十目标数量num10及num10个T10在I10上的坐标信息,模板匹配模块将T10在I10上的坐标信息及num10发送至博主采集模块,将T10、I10、T10在I10上的坐标信息记录到E,转步骤7.21,否则,说明此推文不是图片推文,将T10、I10、T10在I10上定位失败信息记录至E,转步骤7.10;
7.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十一目标图像I11,模板匹配模块读取S的界面元素“视频推文特征”作为第十一模板图像T11,模板匹配模块采用5.5步所述模板匹配定位法对T11在I11上进行定位,若定位成功,说明此推文为视频推文,得到T11在I11上的第十一目标数量num11及num11个T11在I11上的坐标信息,模板匹配模块将T11在I11上的坐标信息及数量num11发送至博主采集模块,将T11、I11、T11在I11上的坐标信息记录到E,转步骤7.21,否则说明此推文为文字推文,将T11、I11、T11在I11上定位失败信息记录至E,转步骤7.11;
7.11推文采集模块通过PyWinAuto和PyAutoGui工具控制鼠标自动移至文本位置,执行长按操作至界面上出现“全选”、“复制”两个按钮;
7.12推文采集模块向模板匹配模块发送定位“全选”按钮指令;
7.13模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十二目标图像I12,通过模板匹配模块读取S的界面元素“全选”按钮作为第十二模板图像T12,模板匹配模块采用5.5步所述模板匹配定位法对T12在I12上进行定位,得到T12在I12上的数量num12及num12个T12在I12上的坐标信息,因页面必然存在一个“全选”按钮,且num12=1;模板匹配模块将T12在I12上的坐标信息及数量num12发送至博主采集模块,将T12、I12、T12在I12上的坐标信息记录到E,转步骤7.14;
7.14推文采集模块控制鼠标移动至“全选”按钮坐标位置,执行点击操作;
7.15推文采集模块向模板匹配模块发送定位“复制”按钮指令;
7.16模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十三目标图像I13,通过模板匹配模块读取S的界面元素“复制”按钮作为第十三模板图像T13,模板匹配模块采用5.5步所述模板匹配定位法对T13在I13上进行定位,得到T13在I13上的第十三目标数量num13及num13个T13在I13上的坐标信息,因页面必然存在一个“复制”按钮,且num13=1;模板匹配模块将T13在I13上的坐标信息及数量num13发送至博主采集模块,将T13、I13、T13在I13上的坐标信息记录到E,转步骤7.17;
7.17推文采集模块控制鼠标移动至“复制”按钮坐标位置,执行点击操,将文字推文的全部内容进行复制操作,即将原始数据α写入剪切板;
7.18推文采集模块向数据整编模块发送读取指令;
7.19数据整编模块读取剪切板信息,依据数据存储格式F将原始数据α进行格式整编,形成目标数据α1;
7.20数据整编模块将目标数据α1依照采集路径P,存储至采集路径P下的目标数据池A中;
7.21推文采集模块向模板匹配模块发送定位“返回_2”按钮的指令;
7.22模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十四目标图像I14,模板匹配模块读取S的界面元素“返回_2”按钮作为第十四模板图像T14,模板匹配模块采用5.5步所述模板匹配定位法对T14在I14上进行定位,得到T14在I14上的第十四目标数量num14及num14个T14在I14上的坐标信息,且num14=1;模板匹配模块将T14在114上的坐标信息及数量num14发送至博主采集模块,将T14、I14、T14在I14上的坐标信息记录到E,转步骤7.23;
7.23推文采集模块控制鼠标移动,点击“返回_2”按钮,令n9=n9+1,若n9≤num9,转步骤7.7,否则转步骤7.24;
7.24推文采集模块向模板匹配模块发送定位“无更多推文”图标的指令;
7.25模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十五目标图像I15,通过模板匹配模块读取S的界面元素“无更多推文”图标作为第十五模板图像T15,模板匹配模块采用5.5步所述模板匹配定位法对T15在I15上进行定位,得到T15在I15上的第十五目标数量num15及num15个T15在I15上的坐标信息;若定位成功,模板匹配模块将T15在I15上的坐标信息及数量num15发送至博主采集模块,且num15=1,将T15、I15、T15在I15上的坐标信息记录到E,转步骤7.27,若定位失败,将T15在I15上定位失败的结果发送至博主采集模块,将T15、I15、T15在I15上定位失败的结果记录到E,转步骤7.26;
7.26推文采集模块此时接收到定位失败的结果,通过PyWinAuto和PyAuto Gui工具控制鼠标拖拽,进行自动翻页操作,转步骤7.3;
7.27推文采集模块此时接收到“无更多推文”所在位置的坐标信息;
7.28推文采集模块向模板匹配模块发送定位“返回_3”按钮的指令;
7.29模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第十六目标图像I16,通过模板匹配模块读取S的界面元素“返回_3”按钮作为第十六模板图像T16,模板匹配模块采用5.5步所述模板匹配定位法对T16在I16上进行定位,得到T16在I16上的第十六目标数量hum16及num16个T16在I16上的坐标信息,因页面必然存在一个“返回_3”按钮,因此不存在定位失败的情况,且hum16=1;模板匹配模块将T16在I16上的坐标信息及num16发送至博主采集模块,将T16、I16、T16在I16上的坐标信息记录到E;
7.30推文采集模块控制鼠标移动,点击“返回_3”按钮,令f=f+1,若f≤FF,转至步骤7.3,否则转第八步;
第八步,结束。
2.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于所述S中主题标签中的界面元素包括“返回”按钮、“返回_1”按钮、“返回_2”按钮、“返回_3”按钮、“关注”按钮、“未关注”按钮、“关闭”按钮、“已无更多推文”图标、“已无更多博主”图标,“图片推文特征”图标,“视频推文特征”图标,格式均为jpg。
3.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于所述流程日志E以文档形式存在,I、T的格式为jpg,定位结果以文本文档即.txt格式存储;所述目标数据池A以文档形式存在;α1以.txt或.doc或.docx或.xls或.xlsx存储。
4.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于第三步所述构建主题关键词数据池S的方法是:
3.1令循环变量p=1;
3.2用户截取K中第p个主题关键词在推荐平台上的图像,命名为Kp.jpg,格式为jpg,添加在S中,令p=p+1,若p≤NN,转步骤3.2,否则转步骤3.3;
3.3对在流程中所涉及到的界面元素的数量进行统计,令界面元素共NM个;
3.4令循环变量m=1;
3.5用户对界面元素进行截图,以“界面元素名.jpg”命名,添加在S中,令m=m+1,若m≤NM,转3.5,否则S构建完成。
5.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于5.5.4步所述模板匹配模块采用相似度矩阵计算方法计算T与I的相似度矩阵M的方法为:在I上按照像素点从左至右,从上至下的顺序依次移动T,每次移动一个像素点单位,利用opencv函数库中的标准相关匹配法计算T与I之间的相似度,同时将每次移动得到的T与I之间的相似度按行优先存储顺序存储在相似度矩阵M中,直到完成全部的移动和相似度计算。
6.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于5.5.5步所述阈值R设置为0.80。
7.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于5.10步所述模板匹配模块采用模板匹配筛选法对I1上第n个博主的名称及简介进行S中主题关键词的筛选的具体方法为:
5.10.1令主题关键词序号i=1;
5.10.2读取S中第i个主题关键词Si作为第一模板图像T1;
5.10.3利用numpy.shape[]函数获得I1的宽、高,分别记为wI1,hI1;利用numpy.shape[]获得T1的宽、高,分别记为wT1,hT1,令I1与T1的重叠区域为第一重叠区域Z1;
5.10.4模板匹配模块采用5.5.4所述相似度矩阵计算方法计算T1与I1的第一相似度矩阵M1,M1的规模为[wI1-wT1,hI1-hT1];
5.10.5模板匹配模块采用5.5.5所述目标定位方法根据M1计算I1中的目标个数及坐标位置,若M1中存在大于R的值,则说明第n个目标的名称及简介中含有Si,筛选结果为“I1筛选到了关键词”,并得到第一目标个数num1及num1个目标中心点在I1中的坐标,将T1、I1、T1在I1上的坐标信息保存至E;若M1中没有大于R的值,则说明第n个目标的名称及简介中不含Si,令i=i+1,若i≤NN,转步骤5.10.2;若i>NN,筛选结果为“I1未筛选到关键词”。
8.如权利要求1所述的一种面向推荐平台的RPA数据采集方法,其特征在于第六步所述博主采集模块对List_1中的博主标号进行遍历,从List_1筛选出K领域内的博主进行关注,扩充关注列表List_1的方法为:
6.1令博主标号f=1;
6.2博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标从上至下依次点击List_1中的博主标号对应的博主头像,进入List_1[f]中的博主标号对应的推文界面;
6.3博主采集模块向模板匹配模块发送定位“关注列表”按钮的指令;
6.4模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第三目标图像I3,通过模板匹配模块读取S的界面元素“关注列表”按钮为第三模板图像T3,模板匹配模块采用5.5步所述模板匹配定位法对T3在I3上进行定位,得到T3在I3上的第三目标数量num3及num3个T3在I3上的坐标信息,将得到的“关注列表”按钮所在位置的坐标信息及num3发送至博主采集模块,将num3个T3在I3上的坐标信息、T3、I3记录到E,转步骤6.5;若定位失败,将“关注列表”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T3、I3记录到E,转步骤6.6;
6.5博主采集模块接收到“关注列表”按钮所在位置的坐标信息,控制鼠标移动至“关注列表”按钮所在位置的坐标,执行点击操作,进入List_1[f]的关注列表界面,转步骤6.9;
6.6博主采集模块接收到“关注列表”按钮定位失败的结果,向模板匹配模块发送定位“返回”按钮的指令;
6.7模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第四目标图像I4,通过模板匹配模块读取S的界面元素“返回”按钮作为第四模板图像T4,模板匹配模块采用5.5步所述模板匹配定位法对T4在I4上进行定位,得到T4在I4上的第四目标数量num4及num4个T4在I4上的坐标信息,且num4=1;模板匹配模块将T4在I4上的坐标信息及数量num4发送至博主采集模块,将T4、I4、T4在I4上的坐标信息记录到E,转步骤6.8;
6.8博主采集模块接收到“返回”按钮位置的坐标信息,控制鼠标移动至“返回”按钮位置的坐标,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2;若f>FF,结束;
6.9博主采集模块向模板匹配模块发送定位“未关注”按钮的指令;
6.10模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第五目标图像I5,通过模板匹配模块读取S的界面元素“未关注”按钮为第五模板图像T5,模板匹配模块采用5.5步所述模板匹配定位法对T5在I5上进行定位,得到T5在I5上的第五目标数量num5及num5个T5在I5上的坐标信息,本页面可能存在多个T5;将T5在I5上的坐标信息及数量num5发送至博主采集模块,将T5在I5上的坐标信息、T5、I5记录到E,转步骤6.11;若定位失败,则将“未关注”按钮定位失败的结果发送至博主采集模块,将定位失败结果、T5、I5记录到E,转步骤6.14;
6.11博主采集模块向模板匹配模块发送筛选主题关键词的指令及T5在I5上的坐标信息及num5;
6.12令循环变量m=1;
6.13模板匹配模块接收到筛选主题关键词的指令,模板匹配模块利用pyautogui.screenshot工具截取推荐平台上第m个未关注博主所在的实时界面作为第六目标图像I6,采用5.10所述的模板匹配筛选法对I6的名称及简介进行S中主题关键词的筛选,若筛选成功则将筛选结果“I6筛选到了关键词”发送至博主采集模块,转步骤6.14;若筛选失败,则将筛选结果“I6未筛选到关键词”发送至博主采集模块,转步骤6.15;
6.14博主采集模块控制鼠标,移动、点击“未关注”按钮,将I6上的第m个未关注博主添加至推荐平台账号的关注列表,令FF=FF+1,令m=m+1,若m≤num5,转步骤6.13;若m>num5,转步骤6.15;
6.15博主采集模块通过PyWinAuto和PyAutoGui工具控制鼠标拖拽,在List_1[f]的关注列表界面进行自动翻页操作;
6.16博主采集模块向模板采集模块发送定位“无更多博主”图标的指令;
6.17模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第七目标图像I7,模板匹配模块读取S的界面元素“无更多博主”图标作为第七模板图像T7,模板匹配模块采用5.5步所述模板匹配定位法对T7在I7上进行定位,得到T7在I7上的数量num7及num7个T7在I7上的坐标信息;若定位成功,模板匹配模块将num7个T7在I7上的坐标信息及数量num7发送至博主采集模块,且num7=1,将T7、I7、T7在I7上的坐标信息记录到E,转步骤6.18;若定位失败,将T7在I7上定位失败的结果发送至博主采集模块,将T7、I7、T7在I7上定位失败的结果记录到E,转步骤6.9;
6.18博主采集模块接收到“无更多博主”图标坐标信息,向模板匹配模块发送定位“返回_1”按钮的指令;
6.19模板匹配模块利用pyautogui.screenshot工具截取实时推荐平台界面图像作为第八目标图像I8,通过模板匹配模块读取S的界面元素“返回_1”按钮作为第八模板图像T8,模板匹配模块采用5.5步所述模板匹配定位法对T8在I8上进行定位,得到T8在I8上的数量num8及num8个T8在I8上的坐标信息,且num8=1;模板匹配模块将T8在I8上的坐标信息及数量num8发送至博主采集模块,将T8、I8、T8在I8上的坐标信息记录到E,转步骤6.20;
6.20博主采集模块接收到“返回_1”按钮的坐标信息,控制鼠标移动至坐标位置,执行点击操作,返回至List_1[f]的关注列表界面,令f=f+1,若f≤FF,转步骤6.2,否则转步骤6.21;
6.21博主采集模块向推文采集模块发送任务结束信息,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359478.XA CN114168832B (zh) | 2021-11-17 | 2021-11-17 | 一种面向推荐平台的rpa数据采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359478.XA CN114168832B (zh) | 2021-11-17 | 2021-11-17 | 一种面向推荐平台的rpa数据采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168832A CN114168832A (zh) | 2022-03-11 |
CN114168832B true CN114168832B (zh) | 2022-05-27 |
Family
ID=80479288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359478.XA Active CN114168832B (zh) | 2021-11-17 | 2021-11-17 | 一种面向推荐平台的rpa数据采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168832B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383887A (zh) * | 2016-09-22 | 2017-02-08 | 深圳市博安达信息技术股份有限公司 | 一种环保新闻数据采集和推荐展示的方法及系统 |
EP3179434A1 (en) * | 2015-12-10 | 2017-06-14 | Deutsche Telekom AG | Designing context-aware recommendation systems, based on latent contexts |
CN110119469A (zh) * | 2019-05-22 | 2019-08-13 | 北京计算机技术及应用研究所 | 一种面向暗网的数据采集与分析系统及方法 |
CN111667163A (zh) * | 2020-05-28 | 2020-09-15 | 广东电网有限责任公司东莞供电局 | 基于rpa技术的故障监控方法、rpa机器人及存储介质 |
CN112115052A (zh) * | 2020-09-10 | 2020-12-22 | 深圳信息职业技术学院 | 一种图形用户界面的自动走查方法、系统及界面走查工具 |
CN112231663A (zh) * | 2020-03-31 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa和ai的数据采集方法、装置、设备及存储介质 |
CN112579852A (zh) * | 2019-09-30 | 2021-03-30 | 厦门邑通软件科技有限公司 | 一种互动式网页数据精确采集方法 |
CN112926954A (zh) * | 2021-04-26 | 2021-06-08 | 南京微雀信息技术有限公司 | 一种基于人工智能机器人跨网络政务信息交换系统及方法 |
CN113076548A (zh) * | 2021-03-31 | 2021-07-06 | 中国建设银行股份有限公司 | 机器人自动化流程账户信息处理方法及装置 |
CN113268650A (zh) * | 2021-05-18 | 2021-08-17 | 湖南荣冠智能科技有限公司 | 一种数据自动下载方法、装置及应用设备 |
CN113360661A (zh) * | 2021-08-11 | 2021-09-07 | 太极计算机股份有限公司 | 多租户的媒体大数据应用云服务平台 |
CN113553425A (zh) * | 2021-06-28 | 2021-10-26 | 北京来也网络科技有限公司 | 基于rpa和ai的数据汇聚方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201211853D0 (en) * | 2012-07-04 | 2012-08-15 | Qatar Foundation | A system and method for event or entity analysis and exploration in microblogs |
US20200395008A1 (en) * | 2019-06-15 | 2020-12-17 | Very Important Puppets Inc. | Personality-Based Conversational Agents and Pragmatic Model, and Related Interfaces and Commercial Models |
US20210133670A1 (en) * | 2019-11-05 | 2021-05-06 | Strong Force Vcn Portfolio 2019, Llc | Control tower and enterprise management platform with a machine learning/artificial intelligence managing sensor and the camera feeds into digital twin |
-
2021
- 2021-11-17 CN CN202111359478.XA patent/CN114168832B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3179434A1 (en) * | 2015-12-10 | 2017-06-14 | Deutsche Telekom AG | Designing context-aware recommendation systems, based on latent contexts |
CN106383887A (zh) * | 2016-09-22 | 2017-02-08 | 深圳市博安达信息技术股份有限公司 | 一种环保新闻数据采集和推荐展示的方法及系统 |
CN110119469A (zh) * | 2019-05-22 | 2019-08-13 | 北京计算机技术及应用研究所 | 一种面向暗网的数据采集与分析系统及方法 |
CN112579852A (zh) * | 2019-09-30 | 2021-03-30 | 厦门邑通软件科技有限公司 | 一种互动式网页数据精确采集方法 |
CN112231663A (zh) * | 2020-03-31 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa和ai的数据采集方法、装置、设备及存储介质 |
CN111667163A (zh) * | 2020-05-28 | 2020-09-15 | 广东电网有限责任公司东莞供电局 | 基于rpa技术的故障监控方法、rpa机器人及存储介质 |
CN112115052A (zh) * | 2020-09-10 | 2020-12-22 | 深圳信息职业技术学院 | 一种图形用户界面的自动走查方法、系统及界面走查工具 |
CN113076548A (zh) * | 2021-03-31 | 2021-07-06 | 中国建设银行股份有限公司 | 机器人自动化流程账户信息处理方法及装置 |
CN112926954A (zh) * | 2021-04-26 | 2021-06-08 | 南京微雀信息技术有限公司 | 一种基于人工智能机器人跨网络政务信息交换系统及方法 |
CN113268650A (zh) * | 2021-05-18 | 2021-08-17 | 湖南荣冠智能科技有限公司 | 一种数据自动下载方法、装置及应用设备 |
CN113553425A (zh) * | 2021-06-28 | 2021-10-26 | 北京来也网络科技有限公司 | 基于rpa和ai的数据汇聚方法、装置、设备及存储介质 |
CN113360661A (zh) * | 2021-08-11 | 2021-09-07 | 太极计算机股份有限公司 | 多租户的媒体大数据应用云服务平台 |
Non-Patent Citations (3)
Title |
---|
Chi Jin, Qinglin Wang, Yang Zhao,Yong Dou.Parallelization of Fast Monte Carlo Dose Calculation for Radiotherapy Treatment Planning on the ARMv8 Architecture.《11th International Conference on Information Science and Technology (ICIST) 》.2021, * |
E. Goldin ; D. Feldman ; G. Georgoulas ; M. Castano ; G. Nikolakopou.Cloud computing for big data analytics in the Process Control Industry.《2017 25th Mediterranean Conference on Control and Automation (MED)》.2017, * |
程平 ; 聂琦.基于RPA的主营业务成本实质性程序审计机器人研究.《财会月刊》.2021,(第19期), * |
Also Published As
Publication number | Publication date |
---|---|
CN114168832A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Klemmer et al. | Papier-Mache: toolkit support for tangible input | |
Liu et al. | Crowdsourcing construction activity analysis from jobsite video streams | |
US8347206B2 (en) | Interactive image tagging | |
US6425525B1 (en) | System and method for inputting, retrieving, organizing and analyzing data | |
Agarwal et al. | First steps toward an electronic field guide for plants | |
Zhao et al. | ActionNet: Vision-based workflow action recognition from programming screencasts | |
EP3540582B1 (en) | Systems and methods for organizing structured data using tag objects | |
CN109726712A (zh) | 文字识别方法、装置及存储介质、服务器 | |
KR20150143473A (ko) | 재계산 사용자 인터페이스 내의 신호 캡처 컨트롤 | |
US10599324B2 (en) | Hand gesture API using finite state machine and gesture language discrete values | |
EP3757817A1 (en) | Electronic device and control method therefor | |
CN109101519B (zh) | 信息采集系统和异构信息融合系统 | |
US20220261530A1 (en) | Providing enhanced functionality in an interactive electronic technical manual | |
CN111582477A (zh) | 神经网络模型的训练方法和装置 | |
US11960819B2 (en) | Techniques for document creation based on image sections | |
Bajammal et al. | A survey on the use of computer vision to improve software engineering tasks | |
Sinha et al. | Capturing user tests in a multimodal, multidevice informal prototyping tool | |
Mohian et al. | PSDoodle: Searching for app screens via interactive sketching | |
CN114168832B (zh) | 一种面向推荐平台的rpa数据采集方法 | |
Kozlova et al. | Development of the toolkit to process the internet memes meant for the modeling, analysis, monitoring and management of social processes | |
US10031965B2 (en) | Data object classification using feature generation through crowdsourcing | |
Orhei | Urban landmark detection using computer vision | |
CN112668464A (zh) | 一种融合场景匹配的中文手语翻译模型构建方法及装置 | |
Roullet et al. | Transfer learning methods for extracting, classifying and searching large collections of historical images and their captions | |
US20240112086A1 (en) | Automatically linking digital calendar events to activities |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |