一种页面数据采集的方法、装置及电子设备与流程

文档序号:23338539发布日期:2020-12-18 16:31阅读:113来源:国知局
一种页面数据采集的方法、装置及电子设备与流程

本发明涉及数据采集技术领域,具体而言,涉及一种页面数据采集的方法、装置、电子设备及计算机可读存储介质。



背景技术:

随着电子商务的兴起和逐渐整合,在线交易业务基本集中在各大型电商平台,各品牌和商家在电商平台开始自己的旗舰店、专卖店,开展线上销售业务。各大平台都会有各自的数据系统,给商家提供店铺的以及市场大盘的各项指标,商家可以在这些数据系统中查看数据、进行简单的分析。但该功能相对简单、模式固定,对于不同品牌不同类目需要做专项分析时,会遇到较大困难。

例如,线上店铺需要分析各项数据指标,实现对过去销售状况的总结,并制定未来销售的销售计划,这些数据的获取需要数据人员每天从电商平台的数据系统的多个页面去采集,从数据系统导出或者复制到表格中,再进行相应的二次分析,数据采集占用了数据人员大量工作时间。

目前爬虫技术虽然比较成熟,但电商平台都有严格的登录验证,若在登录之后爬取所需的数据,由于每个电商平台系统在多个url(uniformresourcelocator,统一资源定位器)都含有所需的数据,需要等待浏览器加载完相应的url之后再爬取数据,其虽然不需要数据人员采集工作,但其需要在一个个网页上爬取数据,且需要等待网页加载,效率仍然较低。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种页面数据采集的方法、装置、电子设备及计算机可读存储介质。

第一方面,本发明实施例提供了一种页面数据采集的方法,包括:

基于浏览器执行登录目标网页的登录操作;

在登录成功之后,基于光学字符识别技术,确定与cookie字段相对应的菜单项所在的第一位置,模拟并执行所述第一位置处的点击输入操作;所述第一位置为预先设置的位置,或者,所述第一位置为对所述浏览器的开发工具进行光学字符识别处理后,所识别出的所述菜单项所在的位置;

基于光学字符识别技术,对所述浏览器的开发工具进行光学字符识别处理,在当前的识别结果中不包含cookie字段时,根据所述cookie字段的父节点字段的布局符号判断所述父节点字段是否为展开状态;

在所述父节点字段为展开状态时,根据当前的所述识别结果确定在所述父节点字段上方的其他父字段的布局符号,在所述其他父字段为展开状态时,模拟并执行所述其他父字段的布局符号所在的第三位置处的点击输入操作,将所述其他父字段转换为折叠状态,之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;

在所述父节点字段为折叠状态时,根据当前的所述识别结果确定所述父节点字段的布局符号所在的第四位置,模拟并执行所述第四位置处的点击输入操作,将所述父节点字段转换为展开状态;之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;

根据所述第二位置从所述浏览器的开发工具中定位到cookie字段,并获取所述目标网页的cookie信息;

根据所述cookie信息并行访问与所述目标网页相关的页面网络地址,采集所有所述页面网络地址中的数据并保存。

第二方面,本发明实施例还提供了一种页面数据采集的装置,包括:

登录模块,用于基于浏览器执行登录目标网页的登录操作;

信息获取模块,用于在登录成功之后,基于光学字符识别技术,确定与cookie字段相对应的菜单项所在的第一位置,模拟并执行所述第一位置处的点击输入操作;所述第一位置为预先设置的位置,或者,所述第一位置为对所述浏览器的开发工具进行光学字符识别处理后,所识别出的所述菜单项所在的位置;基于光学字符识别技术,对所述浏览器的开发工具进行光学字符识别处理,在当前的识别结果中不包含cookie字段时,根据所述cookie字段的父节点字段的布局符号判断所述父节点字段是否为展开状态;在所述父节点字段为展开状态时,根据当前的所述识别结果确定在所述父节点字段上方的其他父字段的布局符号,在所述其他父字段为展开状态时,模拟并执行所述其他父字段的布局符号所在的第三位置处的点击输入操作,将所述其他父字段转换为折叠状态,之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;在所述父节点字段为折叠状态时,根据当前的所述识别结果确定所述父节点字段的布局符号所在的第四位置,模拟并执行所述第四位置处的点击输入操作,将所述父节点字段转换为展开状态;之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;根据所述第二位置从所述浏览器的开发工具中定位到cookie字段,并获取所述目标网页的cookie信息;

并行采集模块,用于根据所述cookie信息并行访问与所述目标网页相关的页面网络地址,采集所有所述页面网络地址中的数据并保存。

第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的页面数据采集的方法中的步骤。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的页面数据采集的方法中的步骤。

本发明实施例提供的页面数据采集的方法、装置、电子设备及计算机可读存储介质,基于浏览器执行登录操作之后,利用ocr识别技术从浏览器开发工具中可以自动提取出cookie信息,进而基于该cookie信息在访问与该目标网页相关的页面网络地址时,不需要重复登录操作,从而可以并行访问多个页面网络地址,不需要等待浏览器一次次加载页面,能够一次性获取到多个页面网络地址中的数据,可以快速采集数据,能够提高数据采集的效率。且该方法可以自动实现登录操作、采集操作等,能够节约人力成本。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1示出了本发明实施例所提供的一种页面数据采集的方法的流程图;

图2示出了本发明实施例所提供的页面数据采集的方法中,开放工具的一种布局示意图;

图3示出了本发明实施例所提供的页面数据采集的方法中,开放工具的另一种布局示意图;

图4示出了本发明实施例所提供的一种页面数据采集的装置的结构示意图;

图5示出了本发明实施例所提供的一种用于执行页面数据采集的方法的电子设备的结构示意图。

具体实施方式

在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。

上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存(flashmemory)、光纤、光盘只读存储器(cd-rom)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。

上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(radiofrequency,rf)或者以上任意合适的组合。

可以以汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:java、smalltalk、c++,还包括常规的过程式程序设计语言,例如:c语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(lan)或广域网(wan),可以连接到用户计算机,也可以连接到外部计算机。

本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。

应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。

也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。

也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。

下面结合本发明实施例中的附图对本发明实施例进行描述。

图1示出了本发明实施例所提供的一种页面数据采集的方法的流程图。如图1所示,该方法包括:

步骤101:基于浏览器执行登录目标网页的登录操作。

本发明实施例中,商家在需要采集某平台上的数据时,首先确定该平台的网页,即目标网页,之后通过浏览器即可执行登录操作,进而登录该目标网页;其中,该“浏览器”可以为常用的浏览器,或者也可以是浏览器插件。本实施例中,可以基于模拟键盘、鼠标的方式实现自动登录。具体地,该步骤101“基于浏览器执行登录目标网页的登录操作”包括:

步骤a1:识别目标网页的网页元素,网页元素包括用户名输入框、密码输入框和登录按钮。

步骤a2:模拟键盘的输入操作,以将用户名和相应的密码分别输入至用户名输入框、密码输入框,之后模拟并执行登录按钮处的点击输入操作。

本发明实施例中,基于浏览器访问该目标网页时,可以显示该目标网页,此时可以显示出该目标网页的一些网页元素,其包括用户名输入框、密码输入框和登录按钮。之后通过模拟键盘的输入操作,即可将该目标网页的用户名和密码分别输入至相应的输入框,即用户名输入至用户名输入框,密码输入至密码输入框。再之后通过点击输入操作点击该登录按钮,即可完成登录操作。其中,在识别出登录按钮时,可以确定登录按钮所在的位置,通过模拟鼠标点击操作的方式,即可模拟生成该登录按钮处的点击输入操作,通过执行该点击输入操作即可模拟用户点击该登录按钮,从而触发登录操作。可选地,若该目标网页包含验证码,可采用现有的验证码识别方式识别出验证码,并输入至验证码输入框。本实施例通过模拟鼠标、键盘操作,可以替代人工操作的效果。

步骤102:在登录成功之后,确定与cookie字段相对应的菜单项所在的第一位置,模拟并执行第一位置处的点击输入操作;第一位置为预先设置的位置,或者,第一位置为对浏览器的开发工具进行光学字符识别处理后,所识别出的菜单项所在的位置。

本发明实施例中,在浏览器开发工具中,cookie字段在相应的菜单项下,本实施例通过定位到该菜单项并操作,使得浏览器开发工具可以显示出cookie字段,进而方便后续基于ocr识别出cookie字段。具体地,与cookie字段相对应的菜单项是预先确定的,且该菜单项可能包含多级;一般情况下,cookie字段位于菜单项“network”下的“headers”中,即“network”和“headers”均为与cookie字段对应的菜单项。

本实施例中,由于浏览器开发工具的页面一般是固定的,每个菜单项的位置也是固定的,故可以预先确定与cookie字段相对应的菜单项的位置,即预先确定第一位置;如图2所示,图2示出了浏览器开发工具的一种界面,在不调整该开发工具页面尺寸等情况下,其中的菜单项“network”和“headers”的位置是固定的,此时可以预先确定相应的第一位置。或者,在启用浏览器开发工具后,可以对该浏览器开发工具进行截图并进行ocr识别处理,从而可以识别出与cookie字段相对应的菜单项所在的位置。在确定菜单项所在的第一位置之后,即可通过模拟鼠标操作可以生成第一位置处的点击输入操作,通过执行该点击输入操作即可选中该菜单项,使得浏览器开发工具显示该菜单项下的信息。

其中,若存在多级菜单项,需要执行多次点击输入操作。以通过ocr识别确定第一位置为例,如图2所示,在启用浏览器开发工具后,首先截图并进行ocr识别处理,以确定菜单项“network”的位置,即第一位置;之后通过点击输入操作使得浏览器开发工具可以显示“network”下的内容。由于还存在与cookie字段相对应的菜单项“headers”,此时需要再次截图,通过ocr识别处理确定“headers”所在的位置,该位置也为一种第一位置,之后再次执行该第一位置处的点击输入操作,从而可以使得浏览器开发工具显示“headers”下的内容,此时显示的内容可参见图2所示。

步骤103:基于光学字符识别技术,对浏览器的开发工具进行光学字符识别处理,在当前的识别结果中不包含cookie字段时,根据cookie字段的父节点字段的布局符号判断父节点字段是否为展开状态;在父节点字段为展开状态时,根据当前的识别结果确定在父节点字段上方的其他父字段的布局符号,在其他父字段为展开状态时,模拟并执行其他父字段的布局符号所在的第三位置处的点击输入操作,将其他父字段转换为折叠状态,之后再次对开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;在父节点字段为折叠状态时,根据当前的识别结果确定父节点字段的布局符号所在的第四位置,模拟并执行第四位置处的点击输入操作,将父节点字段转换为展开状态;之后再次对开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置。

本实施例中,在经过上述步骤102之后,通过执行第一位置处的点击输入操作使得浏览器开发工具可以显示出cookie字段,由于不同网页的cookie字段可能显示在不同位置,本实施例通过ocr识别技术来确定cookie字段所在的位置,即第二位置,从而可以确定不同网页、不同排版下的cookie字段所在的位置。图3示出了该浏览器开发工具在另一种状态下的一种界面,如图3所示,cookie字段位于请求头“requestheaders”下方。

此外,由于浏览器开发工具能够显示的内容有限,导致当前的浏览器开发工具界面不能显示出cookie字段,本实施例通过对当前的界面进行调整以使浏览器开发工具能够显示cookie字段。

本发明实施例中,浏览器开发工具可以显示多个父字段,每个父字段下具有一个或多个子字段;cookie字段是位于某个父字段下的一个子字段,本实施例中将该父字段称为父节点字段。父字段可以展开或折叠,从而可以显示或不显示相应的子字段;同时,父字段开始处设有布局符号,以指示该父字段是展开或折叠,不同的布局符号对应父字段的展开状态或折叠状态。具体地,该布局符号可以为不同方向的三角形、箭头,或者是正负号等;图2中,以向下的三角形“▼”表示父字段为展开状态,以向右的三角形“►”表示父字段为折叠状态,且该布局符号位于父字段的左侧。如图2所示,父字段“responseheaders”为折叠状态(图中的16表示其具有16个子字段),父字段“requestheaders”为展开状态,且其为cookie字段的父字段,即父节点字段为“requestheaders”。本实施例中,基于ocr识别技术即可识别出父节点字段的布局符号,进而可以确定父节点字段是否为展开状态。

本发明实施例中,在父节点字段为展开状态时,若当前的识别结果中仍不包含cookie字段,说明浏览器开发工具当前的显示界面不足以显示出cookie字段;由于所有的父字段均可以通过点击布局符号在展开状态与折叠状态之间切换,本实施例中可折叠父节点字段上方的其他父字段,使得浏览器开发工具可以优先显示该父节点字段的内容。具体地,若父节点字段上方的其他父字段为展开状态,此时可以基于之前的ocr识别结果确定该其他父字段的布局符号所在的位置,即第三位置,通过模拟并执行该第三位置处的点击输入操作,即可将该其他父字段由展开状态切换为折叠状态。如图2所示,父节点字段为“requestheaders”,其上方具有两个父字段“general”和“responseheaders”,且“general”为展开状态,此时通过点击输入操作以点击其左侧的布局符号“▼”,将其切换为折叠状态“►”,使得该浏览器开发工具可以优先显示父节点字段中的子字段,即更有可能显示出cookie字段,将其他父字段折叠后的状态可参见图3所示。在折叠其他父字段之后,即可再次对该浏览器开发工具进行ocr识别处理,以识别出其中的cookie字段,进而可以获取得到相应的cookie信息;如图3所示,该cookie信息为“_ckky=ab;jsessionid=13;__utma=25.80.16.16;__utmc=25041897;__utmz=25041897.1600997711.1.1;__utmb=25041897.8.10.1600997711”。

本发明实施例中,若该父节点字段为折叠状态,通过操作该父节点字段的布局符号可以将其切换为展开状态。具体地,基于步骤103得到的识别结果可以确定父节点字段的布局符号所在位置,即第四位置,通过执行第四位置处的点击输入操作即可点击该布局符号,进而将父节点字段从折叠状态转为展开状态,并再次进行ocr识别处理,以识别出其中的cookie字段。可选地,在将父节点字段转换为展开状态之后,可以重复上述步骤103,进而可以识别出cookie字段。

本实施例中,利用布局符号保证父节点字段为展开状态,且通过折叠其他父字段的方式使得浏览器开发工具可以优先显示父节点字段,即浏览器开发工具更容易显示出cookie字段,以减少ocr识别的次数,能够进一步提高效率。

步骤104:根据第二位置从浏览器的开发工具中定位到cookie字段,并获取目标网页的cookie信息。

本发明实施例中,在成功登录某网页时,会生成能够确定用户身份的cookie信息并存储在本地终端中,从而可以保持登录状态。本实施例中,在成功登录该目标网页之后,获取该目标网页的cookie信息。目前虽然存在查询cookie信息的方法,但当前的查询方法需要人为操作;且本实施例中需要提取出cookie信息以供后续处理时使用,而当前的某些查询方式不能查看完整的cookie信息,故本实施例中基于浏览器的开发工具来自动获取cookie信息,不需要人工操作,以降低人工成本。

具体地,浏览器的开发工具能够显示cookie字段,并以文本的形式显示该cookie字段的信息,即cookie信息。本实施例中,在打开开发工具之后,定位到cookie字段对应的页面,并通过截图获取此时开发工具的截图,之后基于光学字符识别(ocr,opticalcharacterrecognition)技术即可对开发工具的截图进行识别,从而可以识别出其中的cookie字段,并定位到该cookie字段;通过模拟鼠标、键盘等对开发工具中该cookie字段处的位置进行操作,即可提取出其中的cookie信息。例如,在确定cookie字段所在位置之后,通过连续单击、双击或三击等鼠标操作可以选中相应的cookie信息,进而可以复制得到该cookie信息;其中,选中cookie信息的鼠标操作具体以开发工具的实际情况而定。

步骤105:根据cookie信息并行访问与目标网页相关的页面网络地址,采集所有页面网络地址中的数据并保存。

本发明实施例中,目标网页为平台的一个登录网页,而该平台上的数据存储在多个相关的网页页面中,这些网页页面与该目标网页都归属于该平台,其均是与该目标网页相关的页面。本实施例中,预先确定需要从哪些页面中采集数据,并确定这些页面的网络地址,即页面网络地址,具体可以是url等。在确定cookie信息之后,当访问页面网络地址时,由于该cookie信息可以记录用户的个人信息,此时不需要再次执行上述步骤101的登录操作,基于该cookie信息即可访问该页面网络地址中的数据;同时,即使存在多个页面网络地址,基于cookie信息也可实现并行访问,即可以一次性访问多个页面网络地址,从而可以一次性采集多个页面网络地址的数据,能够提高数据采集的效率。本领域技术人员可以理解,上述步骤105可以通过访问接口实现,而不需要借助浏览器。

本实施例中,通过对不同的平台依次执行上述过程,可以自动快速地采集到不同平台中的数据,如销售数据等,之后即可基于该数据进行分析处理。具体地,可以预先设置各个分析模块,并调用获取到的数据进行分析,最后以可视化的方式显示分析结果,如以饼状图、柱状图等显示分析结果,方便工作人员直观的了解分析结果。

本发明实施例提供的一种页面数据采集的方法,基于浏览器执行登录操作之后,利用ocr识别技术从浏览器开发工具中可以自动提取出cookie信息,进而基于该cookie信息在访问与该目标网页相关的页面网络地址时,不需要重复登录操作,从而可以并行访问多个页面网络地址,不需要等待浏览器一次次加载页面,能够一次性获取到多个页面网络地址中的数据,可以快速采集数据,能够提高数据采集的效率。且该方法可以自动实现登录操作、采集操作等,能够节约人力成本。

在上述实施例的基础上,该方法还包括:在父节点字段为展开状态时,向下移动开发工具的滚动条,并重新对开发工具进行光学字符识别处理,直至识别出cookie字段。

本发明实施例中,在父节点字段为展开状态时,若当前的识别结果中仍不包含cookie字段,说明浏览器开发工具当前的显示界面不足以显示出cookie字段,此时可以通过移动浏览器开发工具的滚动条,使得浏览器开发工具可以显示出下方未显示的内容,例如模拟鼠标的滚轮操作、或者点击滚动条下方的下拉按键等,从而可以向下移动滚动条;之后再次截图并进行ocr识别处理,若仍然不存在cookie字段,继续向下移动滚动条,直至截图中存在cookie字段。

可选地,在步骤105“根据cookie信息并行访问与目标网页相关的页面网络地址”之前,该方法还包括:

步骤c1:模拟http请求访问目标网页,以校验cookie信息是否失效。

步骤c2:在cookie信息失效时,重新基于浏览器执行登录目标网页的登录操作,并在登录成功之后,获取目标网页的cookie信息。

步骤c3:在cookie信息未失效时,根据cookie信息并行访问与目标网页相关的页面网络地址。

本发明实施例中,由于cookie信息具有有效期,若超出该有效期,则该cookie信息会失效,本实施例提供的数据采集方法可以周期性执行,故可以定时检验cookie信息是否失效、或者在每个周期前检验上一周期的cookie信息是否失效。具体地,可以通过模拟http请求的方式访问目标网页来校验cookie信息是否失效。若该cookie信息已经失效,则需要重新获取cookie信息,即重新执行上述步骤101-104,从而重新获取到cookie信息。若该cookie信息未失效,则当前仍然可用,此时可以直接执行步骤105,即直接根据cookie信息并行访问与目标网页相关的页面网络地址。

本发明实施例提供的一种页面数据采集的方法,基于浏览器执行登录操作之后,利用ocr识别技术从浏览器开发工具中可以自动提取出cookie信息,进而基于该cookie信息在访问与该目标网页相关的页面网络地址时,不需要重复登录操作,从而可以并行访问多个页面网络地址,不需要等待浏览器一次次加载页面,能够一次性获取到多个页面网络地址中的数据,可以快速采集数据,能够提高数据采集的效率。且该方法可以自动实现登录操作、采集操作等,能够节约人力成本。利用布局符号保证父节点字段为展开状态,且通过折叠其他父字段的方式使得浏览器开发工具可以优先显示父节点字段,即浏览器开发工具更容易显示出cookie字段,以减少ocr识别的次数,能够进一步提高效率。通过校验cookie信息是否失效,可以避免数据采集遗漏或失败。

上文详细描述了本发明实施例提供的页面数据采集的方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的页面数据采集的装置。

图4示出了本发明实施例所提供的一种页面数据采集的装置的结构示意图。如图4所示,该页面数据采集的装置包括:

登录模块41,用于基于浏览器执行登录目标网页的登录操作;

信息获取模块42,用于在登录成功之后,确定与cookie字段相对应的菜单项所在的第一位置,模拟并执行所述第一位置处的点击输入操作;所述第一位置为预先设置的位置,或者,所述第一位置为对所述浏览器的开发工具进行光学字符识别处理后,所识别出的所述菜单项所在的位置;基于光学字符识别技术,对所述浏览器的开发工具进行光学字符识别处理,在当前的识别结果中不包含cookie字段时,根据所述cookie字段的父节点字段的布局符号判断所述父节点字段是否为展开状态;在所述父节点字段为展开状态时,根据当前的所述识别结果确定在所述父节点字段上方的其他父字段的布局符号,在所述其他父字段为展开状态时,模拟并执行所述其他父字段的布局符号所在的第三位置处的点击输入操作,将所述其他父字段转换为折叠状态,之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;在所述父节点字段为折叠状态时,根据当前的所述识别结果确定所述父节点字段的布局符号所在的第四位置,模拟并执行所述第四位置处的点击输入操作,将所述父节点字段转换为展开状态;之后再次对所述开发工具进行光学字符识别处理,以识别出其中的cookie字段,确定cookie字段所在的第二位置;根据所述第二位置从所述浏览器的开发工具中定位到cookie字段,并获取所述目标网页的cookie信息;

并行采集模块43,用于根据所述cookie信息并行访问与所述目标网页相关的页面网络地址,采集所有所述页面网络地址中的数据并保存。

在上述实施例的基础上,所述信息获取模块42还用于:

在所述父节点字段为展开状态时,向下移动所述开发工具的滚动条,并重新对所述开发工具进行光学字符识别处理,直至识别出cookie字段,确定cookie字段所在的第二位置。

在上述实施例的基础上,该装置还包括校验模块;

在所述并行采集模块43根据所述cookie信息并行访问与所述目标网页相关的页面网络地址之前,所述校验模块用于模拟http请求访问所述目标网页,以校验所述cookie信息是否失效;

在所述cookie信息失效时,所述登录模块41重新基于浏览器执行登录目标网页的登录操作,并在登录成功之后,获取所述目标网页的cookie信息;

在所述cookie信息未失效时,所述并行采集模块43根据所述cookie信息并行访问与所述目标网页相关的页面网络地址。

在上述实施例的基础上,所述登录模块41基于浏览器执行登录目标网页的登录操作,包括:

识别所述目标网页的网页元素,所述网页元素包括用户名输入框、密码输入框和登录按钮;

模拟键盘的输入操作,以将用户名和相应的密码分别输入至所述用户名输入框、所述密码输入框,之后模拟并执行所述登录按钮处的点击输入操作。

在上述实施例的基础上,该装置还包括分析模块;

在所述并行采集模块43采集所有所述页面网络地址中的数据并保存之后,所述分析模块用于:根据所述数据进行分析处理。

本发明实施例提供的一种页面数据采集的装置,基于浏览器执行登录操作之后,利用ocr识别技术从浏览器开发工具中可以自动提取出cookie信息,进而基于该cookie信息在访问与该目标网页相关的页面网络地址时,不需要重复登录操作,从而可以并行访问多个页面网络地址,不需要等待浏览器一次次加载页面,能够一次性获取到多个页面网络地址中的数据,可以快速采集数据,能够提高数据采集的效率。且该装置可以自动实现登录操作、采集操作等,能够节约人力成本。利用布局符号保证父节点字段为展开状态,且通过折叠其他父字段的方式使得浏览器开发工具可以优先显示父节点字段,即浏览器开发工具更容易显示出cookie字段,以减少ocr识别的次数,能够进一步提高效率。通过校验cookie信息是否失效,可以避免数据采集遗漏或失败。

此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述页面数据采集的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

具体的,参见图5所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。

在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述页面数据采集的方法实施例的各个过程。

收发器1130,用于在处理器1120的控制下接收和发送数据。

本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。

总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、外围总线、加速图形端口(accelerategraphicalport,agp)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(industrystandardarchitecture,isa)总线、微通道体系结构(microchannelarchitecture,mca)总线、扩展isa(enhancedisa,eisa)总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)、外围部件互连(peripheralcomponentinterconnect,pci)总线。

处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、可编程逻辑阵列(programmablelogicarray,pla)、微控制单元(microcontrollerunit,mcu)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。

处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(randomaccessmemory,ram)、闪存(flashmemory)、只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。

收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。

应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(adhocnetwork)、内联网(intranet)、外联网(extranet)、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网(internet)、公共交换电话网(pstn)、普通老式电话业务网(pots)、蜂窝电话网、无线网络、无线保真(wi-fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(gsm)系统、码分多址(cdma)系统、全球微波互联接入(wimax)系统、通用分组无线业务(gprs)系统、宽带码分多址(wcdma)系统、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、先进长期演进(lte-a)系统、通用移动通信(umts)系统、增强移动宽带(enhancemobilebroadband,embb)系统、海量机器类通信(massivemachinetypeofcommunication,mmtc)系统、超可靠低时延通信(ultrareliablelowlatencycommunications,urllc)系统等。

应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存(flashmemory)。

易失性存储器包括:随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。

在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。

具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(mediaplayer)、浏览器(browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。

此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述页面数据采集的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。

在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。

所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。

以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。

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