网页曝光数据采集方法、系统、电子设备和存储介质与流程

文档序号:15999759发布日期:2018-11-20 19:18阅读:305来源:国知局

本发明涉及互联网技术领域,具体地说,涉及一种网页曝光数据采集方法、系统、电子设备和存储介质。



背景技术:

随着移动互联网越来越流行,如何合理地规划网页和监听网页变得越来越重要。基于大数据的设计,更适应当前的环境,网页数据的采集要求也变得更细化,更准确。

传统网页监听只统计网页的打开次数。但是网页被打开以后,用户只能看到网页的一部分,网页其余部分是在屏幕之外未被显示的,需要用户滚动浏览器滚动条才能看到。

现阶段的网页监听需要精确统计网页中不同模块被用户真实看到的次数。采用的方法通常是模块开发人员在开发模块的时候,加入埋点的相关代码,来监听浏览器滚动条和模块的状态切换,当用户看到特定模块的时候,触发埋点方法,上报对应的数据。

具体来说,这种埋点方法需要在网页的模块代码中加入两种埋点代码,一是埋点标识代码,用于标识模块;二是埋点统计上报代码,在特定模块被显示的时候,调用埋点统计上报代码,上报数据。

这种埋点方法会占用一部分开发时间,与业务代码耦合。另外,埋点代码一般是数据部门管理,而模块代码则由各业务线的研发人员维护,在跨部门合作中,这些埋点代码管理特别复杂,耗费资源。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

针对现有技术中的问题,本发明提供一种网页曝光数据采集方法、系统、电子设备和存储介质,解决埋点代码与业务代码耦合造成开发时间长,效率低,且维护困难,资源耗费的问题。

根据本发明的一个方面,提供一种网页曝光数据采集方法,包括步骤:S10、响应网页访问请求,将网页内容解析为DOM树结构;S20、加载所述网页的数据采集信息,根据所述数据采集信息遍历所述DOM树结构,定位待采集DOM元素;S30、根据各待采集DOM元素与浏览器当前视窗的相对位置,判断各待采集DOM元素是否被显示于浏览器当前视窗;S40、当所述待采集DOM元素被显示于浏览器当前视窗时,采集并上报被显示的所述待采集DOM元素的曝光数据;S50、监听网页状态,当所述网页状态发生变化时,返回所述步骤S30。

优选地,上述的网页曝光数据采集方法中,所述步骤S50包括:对所述网页的DOM树结构进行监听;当所述DOM树结构中任一DOM元素发生变化时,返回所述步骤S30。

优选地,上述的网页曝光数据采集方法中,所述DOM元素的变化包括:DOM元素增加、DOM元素删除和DOM元素修改。

优选地,上述的网页曝光数据采集方法中,所述步骤S50包括:对所述网页的滚动事件进行监听;当所述网页发生滚动时,返回所述步骤S30。

优选地,上述的网页曝光数据采集方法中,所述步骤S30包括:获取各待采集DOM元素的坐标信息,根据所述待采集DOM元素的坐标信息计算其中心位置;当所述待采集DOM元素的中心位置位于浏览器当前视窗时,判断所述待采集DOM元素被显示于浏览器当前视窗。

优选地,上述的网页曝光数据采集方法中,上报所述曝光数据时,各被显示的待采集DOM元素的曝光数据采用唯一对应所述待采集DOM元素的标识ID进行标识。

优选地,上述的网页曝光数据采集方法中,所述曝光数据包括被显示的所述待采集DOM元素的曝光量和点击量。

根据本发明的一个方面,提供一种网页曝光数据采集系统,包括模块:解析模块,响应网页访问请求,将网页内容解析为DOM树结构;DOM元素定位模块,加载所述网页的数据采集信息,根据所述数据采集信息遍历所述DOM树结构,定位待采集DOM元素;位置判断模块,根据各待采集DOM元素与浏览器当前视窗的相对位置,判断各待采集DOM元素是否被显示于浏览器当前视窗;采集模块,当所述待采集DOM元素被显示于浏览器当前视窗时,采集并上报被显示的所述待采集DOM元素的曝光数据;监听模块,监听网页状态,当所述网页状态发生变化时,触发所述位置判断模块。

优选地,上述的网页曝光数据采集系统中,所述监听模块包括:DOM树监听单元,对所述网页的DOM树结构进行监听,当所述DOM树结构中任一DOM元素发生变化时,触发所述位置判断模块。

优选地,上述的网页曝光数据采集系统中,所述监听模块包括:滚动监听单元,对所述网页的滚动事件进行监听,当所述网页发生滚动时,触发所述位置判断模块。

优选地,上述的网页曝光数据采集系统中,所述位置判断模块执行:获取各待采集DOM元素的坐标信息,根据所述待采集DOM元素的坐标信息计算其中心位置;当所述待采集DOM元素的中心位置位于浏览器当前视窗时,判断所述待采集DOM元素被显示于浏览器当前视窗。

根据本发明的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的网页曝光数据采集方法的步骤。

根据本发明的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上所述的网页曝光数据采集方法的步骤。

本发明与现有技术相比的有益效果在于:

本发明通过埋点代码与业务代码解耦,简化埋点难度和流程,减少开发时间,节省资源;通过监听网页状态,实现动态采集曝光数据。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本发明实施例中网页曝光数据采集方法的流程示意图;

图2示出实施例中网页显示于浏览器的示意图;

图3示出本发明实施例中网页曝光数据采集系统的模块示意图;

图4示出本发明实施例中网页曝光数据采集设备的示意图;

图5示出本发明实施例中计算机可读存储介质的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。

图1是实施例中网页曝光数据采集方法的流程示意图,参照图1所示,网页曝光数据采集方法包括:

步骤S10、响应网页访问请求,将网页内容解析为DOM树结构。DOM(Document Object Model,文档对象模型)是浏览器把HTML解析后,生成的树形结构及访问方法。浏览器解析访问请求,生成的页面即由多个DOM元素构成。

S20、加载网页的数据采集信息,根据数据采集信息遍历DOM树结构,定位待采集DOM元素。由于DOM元素的曝光数据量相对于页面PV(Page View,页面浏览量)数据量要多出几十倍,且网页中并非所有DOM元素都需要采集曝光数据量。因此把DOM元素的曝光数据量的采集设计成可配置的,根据数据采集信息识别定位出需要采集的DOM元素,实现按需开启功能,更节省服务器空间和流量。

具体来说,网页打开后,加载数据采集JS(Javascript的简写,是运行在浏览器上的一种脚本语言),访问配置系统,数据采集JS会根据DOM选择器识别定位需要采集曝光数据的DOM元素。DOM选择器是DOM树提供的选择DOM元素的方法。

在识别定位待采集DOM之前,数据采集JS可以按需开启常规采集功能,例如页面PV量采集,页面点击量采集。

S30、根据各待采集DOM元素与浏览器当前视窗的相对位置,判断各待采集DOM元素是否被显示于浏览器当前视窗。识别定位出待采集DOM元素之后,需要判断该待采集DOM元素是否被显示于浏览器当前视窗,以此决定是否对该待采集DOM元素的曝光数据进行采集上报。

参照图2所示,浏览器当前视窗1的尺寸是固定的,而网页2通常较长,或者可能是动态变化的,无法一次性被全部显示于浏览器当前视窗1。在浏览网页2的时候,用户通常需要滚动浏览器滚动条,或者进行点击等操作,查看网页2未被浏览器当前视窗1显示的部分。

具体地,判断网页中某个待采集DOM元素是否被显示于浏览器当前视窗的方法为:获取待采集DOM元素的坐标信息,根据待采集DOM元素的坐标信息计算其中心位置;当待采集DOM元素的中心位置位于浏览器当前视窗时,判断待采集DOM元素被显示于浏览器当前视窗。如图2所示,经判断,例如,第一待采集DOM元素21的中心位置位于浏览器当前视窗1内,则判断第一待采集DOM元素21被显示于浏览器当前视窗1;而第二待采集DOM元素22的中心位置在浏览器当前视窗1之外,则判断第二待采集DOM元素22未被显示于浏览器当前视窗1。

在其他实施方式中,还可以采用与上述不同的方式判断待采集DOM元素与浏览器当前视窗的位置关系。

S40、当待采集DOM元素被显示于浏览器当前视窗时,采集并上报被显示的待采集DOM元素的曝光数据。在一个网页中,配置的待采集DOM元素会有多个,如果对所有待采集DOM元素的曝光数据都进行采集上报,会造成系统负担,产生冗余数据。因此,当待采集DOM元素被显示于浏览器当前视窗时,进行数据采集并上报服务端。上报时,采用标识ID对各个被显示的待采集DOM元素的曝光数据进行标识。标识ID与点击事件对应,可以统计出用户点击率,也即曝光数据包括被显示的待采集DOM元素的曝光量和点击量。可以采用XPath及DOM选择器的方式标识ID。

S50、监听网页状态,当网页状态发生变化时,返回步骤S30。网页的状态会随用户的操作发生变化,导致待采集DOM元素的位置发生变化。因此实时监听网页状态,当其发生变化时,返回步骤S30,重新计算各待采集DOM元素与浏览器当前视窗的相对位置,识别出状态变化后被显示于浏览器当前视窗的待采集DOM元素,然后进行数据采集。

具体来说,可以采用DOM树监听方法和浏览器滚动监听方法来监听网页状态。DOM树监听方法为:对网页的DOM树结构进行监听,当DOM树结构中任一DOM元素发生变化时,返回步骤S30。任一DOM元素发生变化,均可能导致待采集DOM元素的位置发生变化。DOM元素的变化包括:DOM元素增加、DOM元素删除和DOM元素修改。浏览器滚动监听方法为:对网页的滚动事件进行监听,当用户滚动浏览器滚动条时,返回步骤S30,重新进行待采集DOM元素的位置计算。

采用上述的方法,将用于采集DOM元素曝光数据的代码与网页业务代码解耦,减少开发时间,节省资源,方便数据采集代码统一配置维护;通过自动识别待采集DOM元素,并动态监听网页状态,实现动态采集DOM元素曝光数据。

本发明实施例还提供一种网页曝光数据采集系统,参照图3所示,网页曝光数据采集系统300包括如下模块:

解析模块301,响应网页访问请求,将网页内容解析为DOM树结构。解析模块301可用于执行如上述方法中的步骤S10。

DOM元素定位模块302,加载网页的数据采集信息,根据数据采集信息遍历DOM树结构,定位待采集DOM元素。DOM元素定位模块302可用于执行如上述方法中的步骤S20。

位置判断模块303,根据各待采集DOM元素与浏览器当前视窗的相对位置,判断各待采集DOM元素是否被显示于浏览器当前视窗。位置判断模块303可用于执行如上述方法中的步骤S30,获取各待采集DOM元素的坐标信息,根据待采集DOM元素的坐标信息计算其中心位置;当待采集DOM元素的中心位置位于浏览器当前视窗时,判断待采集DOM元素被显示于浏览器当前视窗。

采集模块304,当待采集DOM元素被显示于浏览器当前视窗时,采集并上报被显示的待采集DOM元素的曝光数据。采集模块304可用于执行如上述方法中的步骤S40。

监听模块305,监听网页状态,当网页状态发生变化时,触发位置判断模块303,重新进行待采集DOM元素的位置计算。监听模块305可用于执行如上述方法中的步骤S50。监听模块具体包括DOM树监听单元和/或滚动监听单元,DOM树监听单元对网页的DOM树结构进行监听,当DOM树结构中任一DOM元素发生变化时,触发位置判断模块303;滚动监听单元对网页的滚动事件进行监听,当网页发生滚动时,触发位置判断模块303。

上述的网页曝光数据采集系统能够减少网页开发时间,节省资源,方便数据采集代码统一配置维护;通过自动识别待采集DOM元素,并动态监听网页状态,实现动态采集DOM元素曝光数据。

需要说明的是,图3仅仅是示意性地示出本发明提供的网页曝光数据采集系统的模块图,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。

本发明实施例还提供一种电子设备,包括处理器和存储器,存储器中存储有可执行指令,处理器被配置为经由执行可执行指令来执行上述实施例中的网页曝光数据采集方法的步骤。

所述的电子设备例如为一台手机,一台电脑,一台服务器等,其存储器中存储有可执行指令,其处理器被配置为执行所述的可执行指令,来实施上述实施例中的网页曝光数据采集方法。

如上所述,本发明的电子设备能够减少网页开发时间,节省资源,方便数据采集代码统一配置维护;通过自动识别待采集DOM元素,并动态监听网页状态,实现动态采集DOM元素曝光数据。

图4是本发明实施例中电子设备的结构示意图,应当理解的是,图4仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。

下面参照图4来描述根据本发明的这种实施方式的电子设备400。图4显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:至少一个处理单元410、至少一个存储单元420、连接不同平台组件(包括存储单元420和处理单元410)的总线430、显示单元440等。

其中,存储单元存储有程序代码,程序代码可以被处理单元410执行,使得处理单元410执行本说明书上述网页曝光数据采集方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元510可以执行如图1中所示的步骤。

存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(ROM)4203。

存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备400也可以与一个或多个外部设备500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器460可以通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。

本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现上述实施例的网页曝光数据采集方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述网页曝光数据采集方法部分中描述的根据本发明各种示例性实施方式的步骤。

如上所述,本发明的计算机可读存储介质能够减少网页开发时间,节省资源,方便数据采集代码统一配置维护;通过自动识别待采集DOM元素,并动态监听网页状态,实现动态采集DOM元素曝光数据。

图5是本发明的计算机可读存储介质的结构示意图。参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

综上,本发明的网页曝光数据采集方法、系统、电子设备和存储介质至少具备以下优点:

第一、通过将用于采集DOM元素曝光数据的代码与网页业务代码解耦,减少开发时间,节省资源;

第二、方便对数据采集代码统一配置维护;

第三、通过自动识别待采集DOM元素,并动态监听网页状态,实现动态采集DOM元素曝光数据。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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