法律状态公告日
法律状态信息
法律状态
2019-10-29
专利权的转移 IPC(主分类):G06F17/30 登记生效日:20191009 变更前: 变更后: 申请日:20131113
专利申请权、专利权的转移
2018-01-19
授权
授权
2015-11-25
实质审查的生效 IPC(主分类):G06F17/30 申请日:20131113
实质审查的生效
2014-03-26
公开
公开
技术领域
本发明属于Web设计技术领域,涉及一种新型的Web点击计数方法,特别涉及一种在网络爬虫行为模式分析的基础上结合缓冲更新策略而设计的新型计算方法。
背景技术
在许多网站,Web点击计数值所起的作用越来越大。例如在东方财富股吧网站,每个帖子都将帖子的点击次数列在帖子的左边位置,这些点击数值大小对于投资者进行信息获取具有一定的指导价值,错误的计数容易造成误导。
当前互联网上Web页面计数器大都采用简单的计数方法,即一次点击就会使得计数值增加一。这种计数方法正不断地受到网络爬虫的影响,由此导致的结果使得这种反映网民浏览点击的计数变得越来越不可靠。随着各种Web应用技术的发展,网络上出现了大量用于自动获取Web页面信息的网络爬虫[1]。有来自诸如Google、Baidu、Bing等大型互联网搜索引擎的爬虫,也有来自大量开发者或其他应用系统的爬虫。因此这些模拟点击行为的网络爬虫在获得相关Web页面时,也直接地对该页面计数产生“虚高”的结果。
因此在网络爬虫泛滥的现状下,如何正确地更新每个Web点击的计数值成为Web设计中需要考虑的关键问题之一。当前简单的计数方法无法应对爬虫所造成的影响,而解决该问题的关键在于正确区分点击行为是来自网络爬虫或网络用户。对于网络用户的点击浏览行为研究已经有较长的历史,从行为对象的研究来看,主要分为用户身份识别和点击序列模型两个方面[2]。
用户身份识别简单地基于IP地址和客户端的Agent字符串,由于无法强制爬虫程序对自身进行特殊标识,因此,该方法并不能区分爬虫和网络用户。而点击序列模型采用统计模型描述了前后两个点击的条件概率能够描述用户浏览行为在不同链接之间的跳转关系[3],虽然从统计特征上描述了网络用户在浏览网站时的选择性行为,但是在实际应用于区分爬虫和网络用户时将会遇到如下的问题:(1)对于类似于股吧网站这种网络论坛,由于帖子数量巨大,采用统计模型描述跳转关系时,所需处理的状态空间非常大,造成模型中存在大量稀疏信息。并且帖子不断增加,统计模型对应的状态空间动态增加也给建模造成了较高的复杂度。(2)基于统计模型进行网络用户
和爬虫程序的区分,需要某一序列与统计模型之间的相似性,再根据该相似性和一个相似性阈值进行比较,从而决定分类结果。但是由于相似值是一个似然值,其取值范围不容易估计,导致相似性阈值很难确定,因此在实用性上尚存在较大问题。
由此可见,在进行爬虫行为和网络用户行为的区分上,采用新型的特征和计算判断方法,对于正确判定爬虫行为并进行点击计数更新是非常必要的。本发明正是给出了一种符合这种要求的计算方法。
发明内容
本发明的主要目的是针对Web页面点击计数的准确性问题,提出一种基于爬虫行为识别模型与缓冲更新策略的计数方法。这种计算方法具有一定的智能识别能力,能够克服由于网络爬虫泛滥而对各种Web点击计数所造成的不良影响。这种计算方法充分利用了作为计算机程序的网络爬虫在时间和空间上的爬行模式特征,能够正确识别爬虫的模拟点击行为,并及时进行Web点击计数的更新。
本发明提出的一种基于网络爬虫行为识别与缓冲更新策略的Web点击计数方法,首先建立Web站点的页面组织结构的逻辑表示,综合运用客户端身份识别、Web页面逻辑结构匹配和时间属性进行爬虫行为识别,然后在设定缓冲计数结构的基础上,基于识别结果进行点击计数的更新。具体步骤如下:
(一)建立页面逻辑结构图
(1)输入网站的所有页面文件,对于每个页面文件进行HTML语言解析,提取出每个页面所包含的链接[5]。
(2)根据所提取出来的链接建立页面的逻辑结构图,该图是一个有向图,图中的每个节点表示页面,节点之间的有向连线表示页面之间的链接关系。
(二)进行爬虫行为识别及计数更新
(1)从某个时刻T0开始记录对本网站的所有点击行为,提取客户端的身份标识信息,包括IP地址、Agent字符串。并对其中的每个客户端进行如下步骤的处理:
(2)将用户点击的链接、点击时间记录到一个列表L中;
(3)如果在一定时间TH内没有出现下一次点击,或前后两次的时间间隔大于一定数值,则转下一步骤(即步骤(4)),否则执行上一步骤(即步骤(2)),获得下一次点击行为;
(4)根据页面逻辑结构图,计算L列表所对应的点击序列的空间特征参量β,及时间特征参量θ;
(5)当上述两个特征参量满足
本发明中,进行爬虫行为识别及计数更新时,分为在线行为检测及缓冲更新主进程及客户端识别线程两部分。
本发明中,根据前后两个点击记录之间的时间间隔的平均值
其中: n表示点击序列的长度,即列表L中的记录数;ti-1 和ti分别表示前后两个点击记录的时间。
本发明中,计算点击行为的空间特征参量β是基于点击行为序列与逻辑结构图之间的匹配结果,计算公式如下:
其中,n代表点击序列的长度,ct是通过匹配得到的节点数。
本发明中,所述λ一般选择为0.3以上的数值;所述γ可通过对具体监测的网站对正常行为进行统计得到。
图1作为上述流程的进一步说明。图中,虚框A内的流程是建立页面逻辑结构图,只需要执行一次。虚框B内的流程是进行爬虫行为识别及计数更新,可以多次重复执行。
本发明具有实质性特点和显著进步:
(1)在页面点击计数中采用缓冲更新策略,计数的更新是基于对客户端行为判断结果,以客户端为基本单元进行更新。因此,这种缓冲策略的引入对于用户来说并不会造成计数的延迟。同时既能保证真实的用户点击行为能够体现到计数值中,又不会将网络爬虫程序的模拟点击计算到计数值中。
(2)设计了基于页面逻辑结构图的爬虫行为检测方法。网络爬虫为了提高其运行效率,通常需要按照一定的策略进行页面模拟点击。基于页面逻辑结构图的爬虫行为检测方法正是利用了这个特征,建立Web网站页面的逻辑链接关系图,将检测方法转换为基于该图所进行的局部节点及路径匹配。
(3)基于时间特征的爬虫行为检测方法,作为程序控制的爬虫程序,其发出的点击行为序列在时间上具有比较独特特征。该检测方法通过获取点击序列的时间属性,定义时间波动这种量化值来确定是否是网络爬虫所为。
本发明给出了一种基于网络爬虫行为识别与缓冲更新策略的Web点击计数方法,建立Web站点的页面逻辑结构图,从网络爬虫行为的空间特征和时间特征两方面进行爬虫的识别,能够正确识别爬虫点击行为,避免计数出现虚高现象,同时又能及时地进行Web真实点击计数的更新。本方法适用于各种需要进行链接或页面点击计数的应用场合。
附图说明
图1是基于网络爬虫行为识别与缓冲更新策略的Web点击计数方法。
图2是页面逻辑结构示意图。
具体实施方式
下面结合附图和实施例对本发明进行进一步详细阐述。
本发明中提供的一种基于网络爬虫行为识别与缓冲更新策略的Web点击计数方法,将爬虫行为识别及缓冲更新计算方法分为在线行为检测及缓冲更新主进程及客户端识别线程两部分,通过客户端线程的创建、执行和终止来完成对具体点击序列的处理。具体阐述如下。
1.构建页面逻辑结构图
(1) 输入整个Web站点的页面文件,初始化列表LS,对每个页面文件F进行如下处理:
(1.1)提取文件中的”href=”所指向的字符串S。
(1.2)如果文件中所有的”href=”已经处理完毕,则转步骤(2),否则转1.3继续执行。
(1.3)如果字符串S对应的链接是站点外部链接,则转步骤1.1继续提取下一个链接的指向。否则执行1.4。
(1.4)将文件名F转换成为带虚拟子目录的字符串FN,不同级别的子目录名称用“/”分开。
(1.5)将FN、S作为一个新记录写入到列表LS中。
(1.6)转1.1执行。
(2)从LS的FN、S两个域中选择所有不同的页面标识集合PS={psi}, i=1, 2, …, N。这里N是所有页面的个数。
至此,建立了页面逻辑结构图,图中的节点集为PS,节点指向关系记录在LS中。
2.在线行为检测及缓冲更新的主进程
(2.1)加载页面逻辑结构图。
(2.2)提取每个点击行为的时间戳t及客户端标识信息,包括IP地址、Agent字符串以及点击的url。
(2.3)根据IP地址和Agent字符串识别同一个客户端的所有点击,即IP地址相同且Agent字符串也相同的记录。如果是新客户端,则为该客户端建立一个识别线程,否则直接进入线程的执行流程,见第3部分的描述。
(2.4)如果某个客户端前后两次的时间间隔大于设定的阈值TH,则终止该客户端的识别线程,重新建立一个新的识别进程。
(2.5)如果某个客户端在TH的时间内没有出现新的点击行为,则终止该客户端的识别线程。
(2.6)获得下一个点击行为的参量t、IP地址、Agent字符串、点击的url,转步骤(2.3)执行,直到主进程终止运行。
根据目前对用户浏览行为的研究,上述步骤中的阈值TH可以设定为25.5分钟[4]。
3.客户端识别线程
客户端识别线程由线程的创建、执行和终止三个部分组成。
(3.1)线程的创建
初始化客户端标识,包括IP地址、Agent字符串。
初始化一个列表L,用于存储点击序列。
(3.2)线程的执行
将点击时间t和url写入到列表L中。
(3.3)线程的终止
(3.3.1)计算前后两个点击记录之间的时间(分别用ti-1 和 ti表示)间隔的平均值和方差,即:
这里n的值表示列表L中的记录数,θ即代表了点击行为序列的时间特征参量。
(3.3.2)初始化变量i=1,通过匹配得到的节点数ct=0。
(3.3.3)对于列表L中的urli,在逻辑结构图中找到其父节点(即指向urli的节点)nb。
(3.3.4)在列表L中找到节点nb对应的urlk,并且满足k<i。
(3.3.5)对于k到i之间的列表项,如果存在某个url,使得其父节点与nb的父节点相同或者k到i之间的url均具有相同的父节点,则ct=ct+1。
(3.3.6)i=i+1,并重复3.3.3-3.3.5,直到所有节点处理完毕。
(3.3.7)计算点击行为的空间特征参量β:
(3.3.8)如果满足以下条件,则将L列表中所包含的url对应的页面计数增加1,否则忽略本次客户端的所有点击而不进行页面计数更新。
其中,λ和γ是预先设定的参数。
λ表示点击行为在整个网站上的覆盖比例,一般而言,爬虫达到的比例会比正常的浏览行为高,因此,可设置为0.3以上的数值。而γ是点击行为在时间间隔上的波动情况,一般来说正常行为的波动性要比爬虫大得多,可以针对具体监测的网站对正常行为做个统计即可得到该参数。
从上述实施过程可以看出,本发明在页面点击计数中采用缓冲更新策略,引入了对自动爬虫程序模拟点击行为的识别,将计数更新转换为以客户端为基本单元的更新,有效地避免了非真实点击行为的影响。这种计算方法具有一定的智能判别能力,能够克服由于网络爬虫泛滥而对页面计数所造成的不良影响。
具体例子:
假设已经构造了一个如图2所示的页面逻辑结构图,这里为了说明的方便,只设定了7个节点,而实际应用上要比这个数大。
所对应的PS={a,b,c,d,e,f,g },LS={(b,d),(d,c),(e,d),(d,a),(d,f),(f,d),(g,f),(g,a)}。
在行为检测中,假设有两个客户端的点击序列,它们的点击时间和点击的url分别如下表1和表2所示。
根据客户端识别线程的流程,客户端A的θ=0.5,β=4/7=0.57;而客户端B的θ=37.25,β=0。
在设定的参数阈值γ=1.0,λ=0.3下,能够判别客户端A的行为是来自爬虫行为,从而客户端A所点击的页面集将不会进行计数的增加,而B所涉及的页面将逐次增加1。
参考文献:
[1] Paolo Boldi, Bruno Codenotti, Massimo Santini, Sebastiano Vigna. UbiCrawler: a scalable fully distributed Web crawler. Software: Practice and Experience, 2004, 34, 8: 711–726.
[2] Sen, R. & Hansen, M. Predicting a Web User’s Next Access Based on Log Data. Journal of Computational Graphics and Statistics, 2003, 1, 143–155.
[3] Huang, X. J., Peng, F. C., An, A. J. & Schuurmans, D. Dynamic Web Log Session Identification with Statistical Language Models. Journal of the American Society for Information Science and Technology,14, 1290–1303, 2004.
[4] Catledge, L. D. & Pitkow, J. E. Characterizing Browsing Strategies in the World Wide Web, In Proceedings of the 3rd International World Wide Web Conference. (Darmstadt, Germany, 10-14, Apr., 1995, 1065–1073.
[5] X. W. Ji, J. P. Zeng, S. Y. Zhang, C. R. Wu. Tag Tree Template for Web Information and
Schema Extraction. Expert Systems With Applications, 2010,37(12): 8492-8498。
机译: 神经网络协同过滤系统的基于点击模式的Web广告点击量定位方法及系统
机译: 神经网络协同过滤系统的基于点击模式的Web广告点击量定位方法及系统
机译: 神经网络协同过滤系统的基于点击模式的Web广告点击量定位方法及系统