发明内容
针对相关技术中的网站分析方法无法准确判断来源页面类型的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种网站来源页面类型的获取方法和装置,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种网站来源页面类型的获取方法,该方法包括:获取服务器接收到的当前页面发送的第一请求信息,其中,当前页面为终端当前访问的页面;循环执行下述步骤,直至判断出当前页面的前一页面发送第二请求信息至服务器,步骤包括:判断当前页面的前一页面是否有将第二请求信息发送至服务器;在获取到当前页面的前一页面发送的第二请求信息之后,从第二请求信息中提取当前页面的前一页面的来源页面信息;按照来源页面信息确定当前页面的来源页面类型。
进一步地,判断当前页面的前一页面是否有将第二请求信息发送至服务器包括:从当前页面的第一请求信息中提取当前页面的前一页面的页面地址信息;在服务器上查找页面地址信息所指向的第二请求信息;若服务器上存在第二请求信息,则判断出当前页面的前一页面有将第二请求信息发送至服务器;若服务器上不存在第二请求信息,则判断出当前页面的前一页面没有将第二请求信息发送至服务器。
进一步地,从第二请求信息中提取当前页面的前一页面的来源页面信息包括:从第二请求信息中提取当前页面的前一页面的URL;读取URL中的来源页面标识,将来源页面标识作为来源页面信息。
进一步地,按照来源页面信息确定当前页面的来源页面类型包括:从预设的来源页面类型信息表中读取来源页面标识对应的来源页面类型,其中,来源页面类型信息表中预先保存有各个来源页面标识与来源页面类型的对应关系。
进一步地,获取服务器接收到的当前页面发送的第一请求信息包括:在网站的各个网页上部署监测代码;监测代码在各个网页被访问后加载完成时生成第一请求信息。
为了实现上述目的,根据本发明的另一方面,提供了一种网站来源页面类型的获取装置,该装置包括:获取模块,用于获取服务器接收到的当前页面发送的第一请求信息,其中,当前页面为终端当前访问的页面;循环执行模块,用于循环执行判断模块的步骤,直至判断出当前页面的前一页面发送第二请求信息至服务,判断模块用于判断当前页面的前一页面是否有将第二请求信息发送至服务器;提取模块,用于在获取到当前页面的前一页面发送的第二请求信息之后,从第二请求信息中提取当前页面的前一页面的来源页面信息;确定模块,用于按照来源页面信息确定当前页面的来源页面类型。
进一步地,判断模块包括:第一提取子模块,用于从当前页面的第一请求信息中提取当前页面的前一页面的页面地址信息;查找模块,用于在服务器上查找页面地址信息所指向的第二请求信息;判断子模块,用于若服务器上存在第二请求信息,则判断出当前页面的前一页面有将第二请求信息发送至服务器;确定子模块,用于若服务器上不存在第二请求信息,则判断出当前页面的前一页面没有将第二请求信息发送至服务器。
进一步地,提取模块包括:第二提取子模块,用于从第二请求信息中提取当前页面的前一页面的URL;处理模块,用于读取URL中的来源页面标识,将来源页面标识作为来源页面信息。
进一步地,确定模块包括:读取模块,用于从预设的来源页面类型信息表中读取来源页面标识对应的来源页面类型,其中,来源页面类型信息表中预先保存有各个来源页面标识与来源页面类型的对应关系。
进一步地,获取模块包括:设置模块,用于在网站的各个网页上部署监测代码;生成模块,用于监测代码在各个网页被访问后加载完成时生成第一请求信息。
采用本发明实施例,可以在获取到当前页面发送的第一请求信息之后,循环执行判断当前页面的前一页面是否有将第二请求信息发送至服务器的步骤,直至判断出当前页面的前一页面将第二请求信息发送至服务器,并根据第二请求信息确定当前页面的来源页面类型。通过本发明实施例,通过当前页面的前一页面确定当前页面的来源类型,具体地,通过循环判断当前页面的前一页面是否发送第二请求信息,来从第二请求信息中获取当前页面的来源类型,可以避免网速过慢导致请求信息漏发而导致的来源网页类型的判断不准确的效果。通过本发明,解决了现有技术中的网站分析方法无法准确判断来源页面类型的问题,实现了准确判断当前页面的来源页面类型的效果。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是根据本发明实施例的网站来源页面类型的获取方法的流程图,如图1所示该方法包括如下步骤:
步骤S102,获取服务器接收到的当前页面发送的第一请求信息,其中,当前页面为终端当前访问的页面。
步骤S104,循环执行下述步骤,直至判断出当前页面的前一页面发送第二请求信息至服务器,步骤包括:判断当前页面的前一页面是否有将第二请求信息发送至服务器。
步骤S106,在获取到当前页面的前一页面发送的第二请求信息之后,从第二请求信息中提取当前页面的前一页面的来源页面信息。
步骤S108,按照来源页面信息确定当前页面的来源页面类型。
采用本发明实施例,可以在获取到当前页面发送的第一请求信息之后,循环执行判断当前页面的前一页面是否有将第二请求信息发送至服务器的步骤,直至判断出当前页面的前一页面将第二请求信息发送至服务器,并根据第二请求信息确定当前页面的来源页面类型。通过本发明实施例,通过当前页面的前一页面确定当前页面的来源类型,具体地,通过循环判断当前页面的前一页面是否发送第二请求信息,来从第二请求信息中获取当前页面的来源类型,可以避免网速过慢导致请求信息漏发而导致的来源网页类型的判断不准确的效果。通过本发明,解决了现有技术中的网站分析方法无法准确判断来源页面类型的问题,实现了准确判断当前页面的来源页面类型的效果。
其中,上述实施例中的第一请求信息和第二请求信息可以为request请求,request请求中携带有当前页面的URL和前一页面的URL。
URL(即统一资源定位符),即从互联网得到资源的位置和访问方法的表示,是互联网上标准资源的地址。
在本发明的上述实施例中,在获取到当前页面发送的第一请求信息之后,获取当前页面的前一页面的是否有将第二请求信息发送至服务器,若有,则说明没有出现网速过慢的情况,即前一个页面就是来源页面,并可通过判断前一个页面的类型来确定来源页面类型;若前一个页面URL没有将第二请求信息传给服务器,则说明出现了网速过慢,用户在当前页面的前一页面加载未完成时,即跳转至当前页面,于是获取前一个页面(即当前页面的前一页面的前一个页面)的来源页面的信息,看该页面是否有发送request请求,若有,则说明真正的来源页面为该页面(即前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。
在本发明的上述实施例中,判断当前页面的前一页面是否有将第二请求信息发送至服务器可以包括:从当前页面的第一请求信息中提取当前页面的前一页面的页面地址信息;在服务器上查找页面地址信息所指向的第二请求信息;若服务器上存在第二请求信息,则判断出当前页面的前一页面有将第二请求信息发送至服务器;若服务器上不存在第二请求信息,则判断出当前页面的前一页面没有将第二请求信息发送至服务器。其中的页面地址信息可以为上述的URL。
具体地,判断出前一个页面的URL所对应的网页有将request信息传到服务器,则说明没有出现网速过慢的情况,即前一个页面就是来源页面,并可通过判断前一个页面的类型(将来源参数与服务器已有数据进行匹配)来确定来源类型;若在此之前,前一个页的面URL所对应的网页没有将request信息传给服务器,则说明出现了网速过慢,用户在javascript脚本加载成功之前就已经跳转的其他页面的情况,于是需要进一步提取前一个页面的来源页面的信息,看该页面是否在之前有发送request请求,若有,则说明真正的来源页面为该页面(前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。
根据本发明的上述实施例,获取服务器接收到的当前页面发送的第一请求信息可以包括:在网站的各个网页上部署监测代码;监测代码在各个网页被访问后加载完成时生成第一请求信息。
具体地,预先在监测网页(可以为被访问的各个网页)上所布下javascript脚本代码(即上述实施例中的监测代码),一旦用户进入到该监测页面时,运行javascript脚本代码,运行监测代码成功后发送request请求信息至服务器,该request请求信息中携带有当前页面的URL和上一页面(即前一页面)的URL,每个URL中均携带有一段参数是代表来源页信息。若出现网速过慢的情况,javascript还未来得及加载用户就点击其他链接跳转到下一个页面,则这种情况无法发送request请求,只能等待跳转到下一个页面,并且下一个页面的javascript脚本被加载成功,才能发送request请求。
根据本发明的上述实施例,当页面在被访问时,生成一个访问请求至服务器,该访问请求中携带有被访问页面的URL和被访问页面的前一页面的URL,而在页面加载完成时生成一个请求信息(该请求信息可以为上述的第一请求信息和第二请求信息),请求信息中也会携带被访问页面的URL和被访问页面的前一页面的URL的信息,并且请求信息中的URL中携带一个标签(即上述实施例中的来源页面标识),可以通过请求信息中的来源页面标识确定被访问页面的来源类型。
具体到上述实施例中,在网页上部署监测代码后,在网页被访问时,生成一个访问请求,在网页加载过程中,通过监测代码可以查来源页面标识表获取各个网页的前一页面对应的来源页面标识,将该来源页面标识加入到当前被访问的页面上。本发明实施例中的网页即为页面。
在上述实施例中,从第二请求信息中提取当前页面的前一页面的来源页面信息可以包括:从第二请求信息中提取当前页面的前一页面的URL;读取URL中的来源页面标识,将来源页面标识作为来源页面信息。
需要进一步说明的是,按照来源页面信息确定当前页面的来源页面类型可以包括:从预设的来源页面类型信息表中读取来源页面标识对应的来源页面类型,其中,来源页面类型信息表中预先保存有各个来源页面标识与来源页面类型的对应关系。表1示出了来源页面类型信息表的一种实施方式。
表1
来源页面标识 |
来源页面类型 |
1 |
搜索引擎 |
2 |
购物网站 |
3 |
门户网站 |
下面结合附图2详细介绍本发明实施例,如图2所示,上述实施例可以通过如下步骤实现:
步骤S201:用户访问网页A。
步骤S202:通过点击网页A的链接进入网页B。
具体地,在通过点击网页A的链接进入网页B时,网页B生成访问请求,该访问请求中携带有网页A和网页B的URL;在网页B加载完成时,生成请求信息,该请求信息中携带的URL中还有一个来源页面标识。来源页面标识可以为字符串或数字,其用于标识网页B的来源页面信息。
其中,在网页B的加载过程中,其网页内嵌入的监测代码获取网页A的URL,对其进行来源类型匹配,得到网页B的来源页面类型,即为
如,网页A为百度。则查来源页面标识表得到网页B的来源类型为搜索引擎。
表2示出了来源页面标识表的一种实现方式:
当前页面的前一页面的URL |
当前页面的URL中携带的来源页面标识 |
www.baidu.com |
1 |
www.hao123.com |
1 |
www.taobao.com |
2 |
www.tiancity.com |
2 |
www.sina.com.cn |
3 |
若网络正常,则网页B向服务器发送访问请求和请求信息;若网络不正常,则网页B尚未加载完成就进入网页C,则进入网页C之后,只能获取到网页B发送的访问请求,无法获取网页B的请求信息。
步骤S203:通过点击网页B的链接进入网页C。
步骤S204:获取网页C向服务器发送的第一请求信息。
也即获取当前页面(即网页C)的第一请求信息。如,网页C为天猫商城,网页B为淘宝网。
步骤S205:判断网页B是否有向服务器发送第二请求信息。
也即,判断当前页面的前一页面是否有向服务器发送第二请求信息。若是,则执行步骤S206;若否重复执行步骤S205。
具体地,预先在监测网页(该监测网页包括该实施例中的各个网页)上所布下的javascript脚本代码(即上述实施例中的监测代码)。当用户进入到该监测页面时,运行javascript脚本,发送request请求至服务器,请求中包含当前页面的URL和上一页面的URL,URL中有一段参数(即上述实施例中的来源页面标识)是代表来源页信息。
若当前页面的前一页面有向服务器发送第二请求信息,则确定网速正常,从第二请求信息中获取当前页面的前一页面的来源页面,在该实施例中为网页A,这样可以确定网页C的访问路径:搜素引擎—购物网站—天猫商城。
若当前页面的前一页面未向服务器发送第二请求信息,则确定网速不正常,获取前一页面(即网页B)的上一页面(即网页A)是否向服务器发送第二请求信息。
具体地,可以从网页B(即当前页面的前一页面)发送至服务器的访问请求中提取前一页面的来源页面(在该实施例中为页面A)的URL,使用该提取到的URL从服务器中查找前一页面(即网页B)的上一页面(即网页A)是否向服务器发送第二请求信息。
根据本发明的上述实施例,还可以通过判断服务器当前页面的前一页面发送至服务器的请求的URL中是否携带有来源页面标识,来判断当前页面的前一页面是否有向服务器发送第二请求信息。
具体地,当接收到当前页面的第一请求信息之后,提取出当前页面的URL和前一页面的URL;看前一页面的URL所对应的网页是否有将request信息传到服务器。
若有,则说明没有出现网速过慢的情况,即前一个页面就是来源页面,并可通过判断前一个页面的类型(将来源参数与服务器已有数据进行匹配)来确定来源类型。
若没有,则说明出现了网速过慢,用户在javascript脚本加载成功之前就已经跳转的其他页面的情况,则重复执行步骤S205。
步骤S206:根据第二请求信息确定当前页面的来源页面类型。
通过本发明上述实施例,用户在javascript脚本加载成功之前就已经跳转的其他页面的情况,于是需要进一步提取前一个页面的来源页面的信息,看该页面是否在之前有发送request请求,若有,则说明真正的来源页面为该页面(前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。通过循环判断的步骤来确定真正的来源页面,解决了由于用户网速太慢,而在javascript监测脚本加载成功之前就点击其他链接离开的情况,能够更准确的判断真正的来源页,并以此作为依据分析用户行为。
本发明上述实施例中的来源类型,即用户进入当前这个页面之前的上一个页面的类型,即用户通过什么类型的页面进入到当前这个页面。
在对用户的访问行文进行统计时,需要知道用户的访问路径。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本发明实施例的网站来源页面类型的获取装置的示意图。如图3所示,该装置可以包括:获取模块10、循环执行模块30、提取模块50和确定模块70。循环执行模块30包括判断模块(图中未示出)。
其中,获取模块,用于获取服务器接收到的当前页面发送的第一请求信息,其中,当前页面为终端当前访问的页面;循环执行模块,用于循环执行判断模块的步骤,直至判断出当前页面的前一页面发送第二请求信息至服务,判断模块用于判断当前页面的前一页面是否有将第二请求信息发送至服务器;提取模块,用于在获取到当前页面的前一页面发送的第二请求信息之后,从第二请求信息中提取当前页面的前一页面的来源页面信息;确定模块,用于按照来源页面信息确定当前页面的来源页面类型。
采用本发明实施例,可以在获取到当前页面发送的第一请求信息之后,循环执行判断当前页面的前一页面是否有将第二请求信息发送至服务器的步骤,直至判断出当前页面的前一页面将第二请求信息发送至服务器,并根据第二请求信息确定当前页面的来源页面类型。通过本发明实施例,通过当前页面的前一页面确定当前页面的来源类型,具体地,通过循环判断当前页面的前一页面是否发送第二请求信息,来从第二请求信息中获取当前页面的来源类型,可以避免网速过慢导致请求信息漏发而导致的来源网页类型的判断不准确的效果。通过本发明,解决了现有技术中的网站分析方法无法准确判断来源页面类型的问题,实现了准确判断当前页面的来源页面类型的效果。
其中,上述实施例中的第一请求信息和第二请求信息可以为request请求,request请求中携带有当前页面的URL和前一页面的URL。
URL(即统一资源定位符),即从互联网得到资源的位置和访问方法的表示,是互联网上标准资源的地址。
在本发明的上述实施例中,在获取到当前页面发送的第一请求信息之后,获取当前页面的前一页面的是否有将第二请求信息发送至服务器,若有,则说明没有出现网速过慢的情况,即前一个页面就是来源页面,并可通过判断前一个页面的类型来确定来源页面类型;若前一个页面URL没有将第二请求信息传给服务器,则说明出现了网速过慢,用户在当前页面的前一页面加载未完成时,即跳转至当前页面,于是获取前一个页面(即当前页面的前一页面的前一个页面)的来源页面的信息,看该页面是否有发送request请求,若有,则说明真正的来源页面为该页面(即前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。
根据本发明的上述实施例,判断模块可以包括:第一提取子模块,用于从当前页面的第一请求信息中提取当前页面的前一页面的页面地址信息;查找模块,用于在服务器上查找页面地址信息所指向的第二请求信息;判断子模块,用于若服务器上存在第二请求信息,则判断出当前页面的前一页面有将第二请求信息发送至服务器;确定子模块,用于若服务器上不存在第二请求信息,则判断出当前页面的前一页面没有将第二请求信息发送至服务器。
其中的页面地址信息可以为上述的URL。
具体地,判断出前一个页面的URL所对应的网页有将request信息传到服务器,则说明没有出现网速过慢的情况,即前一个页面就是来源页面,并可通过判断前一个页面的类型(将来源参数与服务器已有数据进行匹配)来确定来源类型;若在此之前,前一个页的面URL所对应的网页没有将request信息传给服务器,则说明出现了网速过慢,用户在javascript脚本加载成功之前就已经跳转的其他页面的情况,于是需要进一步提取前一个页面的来源页面的信息,看该页面是否在之前有发送request请求,若有,则说明真正的来源页面为该页面(前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。
根据本发明的上述实施例,获取模块可以包括:设置模块,用于在网站的各个网页上部署监测代码;生成模块,用于监测代码在各个网页被访问后加载完成时生成第一请求信息。
具体地,预先在监测网页(可以为被访问的各个网页)上所布下javascript脚本代码(即上述实施例中的监测代码),一旦用户进入到该监测页面时,运行javascript脚本代码,运行监测代码成功后发送request请求信息至服务器,该request请求信息中携带有当前页面的URL和上一页面(即前一页面)的URL,每个URL中均携带有一段参数是代表来源页信息。若出现网速过慢的情况,javascript还未来得及加载用户就点击其他链接跳转到下一个页面,则这种情况无法发送request请求,只能等待跳转到下一个页面,并且下一个页面的javascript脚本被加载成功,才能发送request请求。
根据本发明的上述实施例,当页面在被访问时,生成一个访问请求至服务器,该访问请求中携带有被访问页面的URL和被访问页面的前一页面的URL,而在页面加载完成时生成一个请求信息(该请求信息可以为上述的第一请求信息和第二请求信息),请求信息中也会携带被访问页面的URL和被访问页面的前一页面的URL的信息,并且请求信息中的URL中携带一个标签(即上述实施例中的来源页面标识),可以通过请求信息中的来源页面标识确定被访问页面的来源类型。
具体到上述实施例中,在网页上部署监测代码后,在网页被访问时,生成一个访问请求,在网页加载过程中,通过监测代码可以查来源页面标识表获取各个网页的前一页面对应的来源页面标识,将该来源页面标识加入到当前被访问的页面上。
本发明实施例中的网页即为页面。
在上述实施例中,提取模块可以包括:第二提取子模块,用于从第二请求信息中提取当前页面的前一页面的URL;处理模块,用于读取URL中的来源页面标识,将来源页面标识作为来源页面信息。
需要进一步说明的是,确定模块可以包括:读取模块,用于从预设的来源页面类型信息表中读取来源页面标识对应的来源页面类型,其中,来源页面类型信息表中预先保存有各个来源页面标识与来源页面类型的对应关系。
通过本发明上述实施例用户在javascript脚本加载成功之前就已经跳转的其他页面的情况,于是需要进一步提取前一个页面的来源页面的信息,看该页面是否在之前有发送request请求,若有,则说明真正的来源页面为该页面(前一个页面的来源页面),若没有,则继续此动作,直至找出真正的来源页面。通过循环判断的步骤来确定真正的来源页面,解决了由于用户网速太慢,而在javascript监测脚本加载成功之前就点击其他链接离开的情况,能够更准确的判断真正的来源页,并以此作为依据分析用户行为。
本发明上述实施例中的来源类型,即用户进入当前这个页面之前的上一个页面的类型,即用户通过什么类型的页面进入到当前这个页面。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例一中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
从以上的描述中,可以看出,本发明实现了如下技术效果:
采用本发明实施例,可以在获取到当前页面发送的第一请求信息之后,循环执行判断当前页面的前一页面是否有将第二请求信息发送至服务器的步骤,直至判断出当前页面的前一页面将第二请求信息发送至服务器,并根据第二请求信息确定当前页面的来源页面类型。通过本发明实施例,通过当前页面的前一页面确定当前页面的来源类型,具体地,通过循环判断当前页面的前一页面是否发送第二请求信息,来从第二请求信息中获取当前页面的来源类型,可以避免网速过慢导致请求信息漏发而导致的来源网页类型的判断不准确的效果。通过本发明,解决了现有技术中的网站分析方法无法准确判断来源页面类型的问题,实现了准确判断当前页面的来源页面类型的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。