点击日志的生成方法及装置,搜索结果调整方法及装置的制作方法

文档序号:6434219阅读:185来源:国知局
专利名称:点击日志的生成方法及装置,搜索结果调整方法及装置的制作方法
技术领域
本发明涉及互联网技术领域,特别涉及一种点击日志的自动生成方法及装置,以 及利用该点击日志进行搜索结果调整的方法及装置。
背景技术
在web应用领域之中,为了得到用户的行为,往往需要在页面上做一些监控,以记 录用户的点击行为。这样,每次点击都将会产生一条点击日志,并将该点击日志发送给服务 器端。后续,服务器端就可以根据大量的用户点击行为进行分析,并根据分析结果获得什么 样的检索结果更好,用户更喜欢,从而提高用户的满意度。
目前,对于验证测试页面中点击统计功能是否正常,或者生成点击日志的功能来 说,主要还是通过手工的方式。例如,首先通过人工打开待测页面,并通过手动方式点击待 测页面里面的URL (Uniform Resource Locator,统一资源定位符),然后服务器端获得相应 的点击日志,并根据点击日志进行分析和统计,从而改善检索结果。
现有技术存在以下缺点
1、手工操作,消耗人力,且效率低下;
2、虽然可以借助开源框架的 API (Application Programming Interface,应用程 序编程接口 )来点击,但是稳定性较差,而且速度比较慢;
3、目前手动方式不够灵活,不能根据需求,点击特定的页面元素,产生需要的点击 日志。发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,特别是解决目前手动点击 生成点击日志的方式效率低下、不够灵活的缺陷,以及通过开源库的API进行点击的稳定 性差及速度慢的缺陷。
本发明实施例第一方面提出了一种点击日志生成方法,包括以下步骤分析待测 页面,以获得所述待测页面的统一资源定位符URL ;解析所述待测页面所对应的URL以获得 所述待测页面所对应的超文本标记语言HTML源码;在所述待测页面所对应的所述HTML源 码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中的待测页面元素 的URL、题目和标签;以及在浏览器之中执行所述js函数调用以生成相应的点击日志,并将 所述点击日志发送至服务器。
本发明实施例第二方面提出了一种点击日志生成装置,包括分析模块,用于分析 待测页面,以获得所述待测页面的URL ;HTML源码获得模块,用于解析所述待测页面所对应 的URL以获得所述待测页面所对应的HTML源码;提取模块,用于在所述待测页面所对应的 所述HTML源码中提取所述待测页面元素对应的js函数调用,其中,所述js函数调用之中 填充有所述待测页面中的待测页面元素的URL、题目和标签;点击日志生成模块,用于在浏 览器之中执行所述js函数调用以生成相应的点击日志;以及发送模块,用于将所述点击日志发送至服务器。
在本发明的一个实施例中,所述提取模块提取所述待测页面中所有能产生点击日 志的待测页面元素的js函数调用。
在本发明的另一个实施例中,所述提取模块提取所述待测页面中配置项path对 应的页面节点内的所有待测页面元素的js函数调用。
在本发明的再一个实施例中,所述提取模块提取所述待测页面中配置项fm_type 对应的类型的所述待测页面元素的js函数调用。
本发明实施例首先通过开源库中的函数实现浏览器打开待检测页面,并通过开源 库函数获取待检测页面的HTML源码。然后,解析待检测页面的HTML源码,并在解析结果中 匹配待测页面元素的特性,从而找出所有待测页面元素的HTML源码。最后,分别从待测页 面元素的HTML源码中提取出js函数调用,并在浏览器端执行,即进行模拟点击,从而产生 待测页面元素的点击日志。通过本发明实施例,每分钟可生成约600条以上的点击日志,因 此大幅度地提高了测试速度。此外,在执行过程中无需人工干预,所以节约了人工成本。
另外,由于现有技术中仅能测试少量的检索词,而本发明实施例可批量地测试大 数量的检索词,从而大幅度地提升了测试检索词的覆盖度。更为重要地,现有技术中仅能 对搜索结果页面元素进行抽样点击以生成点击日志,而本发明实施例可对待测页面的所有 待测页面元素进行模拟点击,或者仅针对某个页面节点内的所有待测页面元素进行模拟点 击,或者,仅针对性地对某类型的待测页面元素进行模拟点击并生成点击日志,因此本发明 实施例大幅提升了页面内可测元素的覆盖范围,并且在测试对象方面具有可控性。
综上所示,本发明实施例可灵活地进行配置,因此能够支持当前所有的待测页面 元素以及未来新增的待测页面元素。
本发明实施例第三方面还提出了一种搜索结果调整方法,包括以下步骤分析待 测页面,以获得所述待测页面的统一资源定位符URL ;解析所述待测页面所对应的URL以获 得所述待测页面所对应的超文本标记语言HTML源码;在所述待测页面所对应的所述HTML 源码中提取所述待测页面元素对应的js函数调用,其中,所述js函数调用之中填充有所述 待测页面中的待测页面元素的URL、题目和标签;在浏览器之中执行所述js函数调用以生 成相应的点击日志,并将所述点击日志发送至服务器;所述服务器根据所述点击日志生成 搜索结果的权重;以及根据所述搜索结果的权重对搜索结构进行调整。
本发明实施例第四方面还提出了一种搜索结果调整系统,包括终端,用于对待测 页面进行分析,并在所述待测页面所对应的HTML源码中提取js函数调用,在所述终端的浏 览器之中执行所述js函数调用以生成相应的点击日志,其中,所述js函数调用之中填充有 所述待测页面中的待测页面元素的URL、题目和标签;以及所述服务器,用于接收所述终端 发送的点击日志,并根据所述点击日志生成搜索结果的权重,以及根据所述搜索结果的权 重对搜索结构进行调整。
在本发明实施例之中,服务器可以根据模拟的点击日志对搜索结果的权重进行调 整,从而使得搜索结果更准确,有效提高用户满意度。此外,由于本发明实施例采用模拟点 击的方式生成点击日志,具有速度快、效率高的优点,因此在此基础上可以根据用户的喜好 随时对检索词进行调整,并生成相应的点击日志,从而根据点击日志对搜索权重及时进行 调整,以更有针对性及更好地满足用户的需求,提高用户的满意度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中
图1为本发明实施例的点击日志生成方法的流程图2为本发明实施例打开待测页面的流程图3为本发明实施例一的js函数调用提取方法流程图
图4为本发明实施例二的js函数调用提取方法流程图
图5为本发明实施例三的js函数调用提取方法流程图
图6为本发明实施例的点击日志生成装置结构图7为本发明实施例的搜索结果调整方法流程图8为本发明实施例的搜索结果调整系统结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖 直”、“水平”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是 为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不能理解为对 本发明的限制。
本发明实施例首先通过开源库中的函数实现浏览器打开待检测页面,并通过开源 库函数获取待检测页面的HTML源码。然后,解析待检测页面的HTML源码,并在解析结果中 匹配待测页面元素的特性,从而找出所有待测页面元素的HTML源码。最后,分别从待测页 面元素的HTML源码中提取出js函数调用,并在浏览器端执行,即进行模拟点击,从而产生 待测页面元素的点击日志。在本发明的一个实施例中,待测页面可为搜索结果页面,待测页 面元素为搜索结果页面中的内容信息,例如搜索结果页面上的所有搜索结果、相关搜索、各 种页面提示和各种广告等。以下实施例虽然以搜索结果页面为例进行描述,但是本领域技 术人员应该理解的是,本发明实施例的方法和装置还可用于其他页面,这些均应包含在本 发明的保护范围之内。此外,还需要说明的是,在该实施例中搜索结果页面可通过一条具体 的检索词生成,也可以根据多条相关或不相关的检索词生成,在此不再赘述。以下将以具体 实施例的方式,对本发明进行详细介绍。
如图1所示,为本发明实施例的点击日志生成方法的流程图。该方法可用于搜索 结果页面,也可用于其它页面的模拟点击,在此不再赘述。该方法包括以下步骤
步骤S101,打开待测页面。在本发明的一个实施例中,该待测页面为搜索结果页 面,待测页面元素为搜索结果页面中的内容信息,例如搜索结果页面上的所有搜索结果、相 关搜索、各种页面提示和各种广告等。以下实施例将以搜索结果页面为例进行详细描述。具体地,在本发明的一个实施例中,通过Selenium开源库打开待测页面。同样地,在本发明的 另一个实施例中也可通过编写的专用函数实现。更为具体地,如图2所示,为本发明实施例 打开待测页面的流程图,包括以下步骤
步骤S201,从词表中读取待验证的所有检索词。该检索词可为一个或多个,其中, 该检索词可根据用户的检索习惯获得,或者,也可根据当前的热点词汇获得。
步骤S202,通过Selenium开源库打开浏览器的默认页面。在本发明的一个实施例 中,该默认页面可为百度的搜索页面。当然在本发明的其他实施例中,还可以google的搜 索页面或者其他类似的搜索页面,或者其他需要进行模拟点击生成点击日志的页面。其中, Selenium开源库为公知的已有开源库,在此不再赘述。
步骤S203,通过Selenium开源库中的ap1:type函数在所述默认页面的输入框中 输入一个或多个检索词,例如在百度搜索页面中的搜索输入框中输入一个或多个检索词。
步骤S204,通过Selenium开源库中的click函数进行点击确认以打开待测页面。 在本发明的一个实施例中,如果默认页面为百度搜索页面,则通过Selenium开源库中的 click函数点击“百度一下”的按钮即可,从而打开搜索结果页面,即打开待测页面。
步骤S102,分析待测页面,以获得待测页面的URL(统一资源定位符)。在本发明 的一个实施例中,通过Selenium开源库中的get_location函数获得所述待测页面所对应 的URL。同样地,在本发明的另一个实施例中,也可通过编写的专用函数实现。
在本发明的一个实施例中,待测页面上能被点击的元素种类有很多,例如结果种 类就包括普通结果、阿拉丁结果、一般链接等。但这个结果种类都有一个标识。现有的人工 点击方式点击无法灵活地进行选择性点击,而本发明实施例通过灵活性地配置文件可实现 选择性的点击。具体地,本发明实施例可以模拟三种模拟点击模式
1、对待测页面上的所有能产生点击日志的待测页面元素均进行点击;
2、针对配置项path (格式为xpath或者css selector)对应的节点内的所有页面 元素进行点击;
3、只点击配置项fm_type对应种类的页面元素。
上述三种模拟点击模式,将在以下的实施例中详细描述。
步骤S103,解析待测页面所对应的URL以获得待测页面所对应的HTML (超文本标 记语言)源码。在本发明的一个实施例中,可通过Ixml开源库解析待测页面所对应的URL, 以获得待测页面所对应的HTML源码。其中,Ixml开源库为已知的开源库,在此不再赘述。
步骤S104,在待测页面所对应的HTML源码中提取待测页面元素对应的js函数调 用,其中,js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目(title)和 标签(id) ο
步骤S105,在浏览器之中执行该js函数调用以生成相应的点击日志,并将点击日 志发送至服务器。在本发明的一个实施例中,通过Selenium开源库中的run_script在浏 览器中执行js函数调用。本发明实施例通过在浏览器之中执行js函数调用,从而可以方 便地生成点击日志。js函数为javascript,其是一种脚本语言,用于在浏览器端执行。
本发明实施例,在待测页面的HTML中定义了一个生成点击日志的js函数。其中, 函数传递的参数是一个字典类型,包括结果类型,title、url、标签、结果位置编号等信息。 在可点击的页面元素的html标签中,通常都会包含类似如下具有下划线的部分
〈aonclick=" func (I' fm' : ' altpl' , ' url' : this, href, ' pi' : al c(this), ' p2' :0, ' p3' : ' I' I) " >. . . </a>
此处就是生成点击日志的js函数调用,本发明实施例通过找到这样的页面元素 并进行提取,从而实现模拟点击。例如提取
func({ ' fm ' : ' altpl 1 , 1 url 1 : this, href, 1 pi 1 :al_ c (this), ' p2' :0, ' p3 ' : ' I' });这个部分,以及计算出相关的参数值,如url、 title、pi等,然后将计算得到的这些值取代函数调用的变量,如this, href, al_c (this) 等,即将URL等信息填充至所述js函数调用,从而形成一个可以直接执行的函数调用,如
func ({ ' fm ' : ' altpl ' , ' url ' :www. sina. com. cn, ' pl' :3, ' p2' :0, ' p3' :1 I1 });
最终selenium开源库的api调取以上构造好的js函数调用即可实现对js函数 调用的执行。
以下将以具体实施例的模拟点击模式进行详细描述。
实施例一
在该实施例中,可对待测页面上的所有能产生点击日志的待测页面元素均进行点 击。如图3所示,为本发明实施例一的js函数调用提取方法流程图,包括以下步骤
步骤S301,从全部HTML源码中获得所有css selector为a[onmousedown]或者 a[onclick]的待测页面元素,并将这些待测页面元素添加至第一列表。
步骤S302,遍历第一列表之中的待测页面元素,并提取每个待测页面元素的URL、 题目和标签,并获取待测页面元素的js函数调用。
步骤S303,将URL、题目和标签填充至所述js函数调用。
实施例二
在该实施例中,可针对配置项path(格式为xpath或者css selector)对应的节 点内的所有页面元素进行点击。如图4所示,为本发明实施例二的js函数调用提取方法流 程图,包括以下步骤
步骤S401,根据配置项从HTML源码中获得满足配置项path的页面节点,并将页面 节点添加至第二列表。在本发明的一个实施例中,配置项path的格式可为xpath,或者可为 css selector。具体地,通过Selenium开源库中的getElement函数从HTML源码中获得所 有满足配置项中给定path或者给定css selector的页面节点,并将页面节点添加至所述 第二列表。在此需要说明的是,所述第二列表仅是为了在本发明实施例中与第一列表进行 区分。
步骤S402,从第二列表中获得一个页面节点。
步骤S403,从页面节点对应的HTML源码的标签内部获得所有css selector为 a[onmousedown]或者a[onclick]的待测页面元素,并将获得的待测页面元素添加至第三 列表。
步骤S404,遍历第三列表之中的所有的待测页面元素,提取每个待测页面元素的 URL、题目(title)和标签(id),以及获取待测页面元素的js函数调用,即获取这个元素标 签里onmousedown或者onclick属性的值。
步骤S405,将URL、题目和标签填充至js函数调用。
步骤S406,在生成点击日志之后,继续从第二列表中获得其他页面节点并获得其 他页面节点内待测页面元素的js函数调用,即返回步骤S402。具体地,通过Selenium开源 库中的run_script在浏览器中执行js函数调用,以进行模拟点击并生成点击日志。
实施例三
在该实施例中,只点击配置项fm_type对应种类的页面元素。如图5所示,为本发 明实施例三的js函数调用提取方法流程图,包括以下步骤
步骤S501,从 HTML 源码中获得所有 css selector 为 a [onmousedown]或者 a[onclick]的待测页面元素,并将待测页面元素添加至第四列表。
步骤S502,遍历第四列表之中的待测页面元素,并提取每个待测页面元素的 URL、题目和标签,并获取所述待测页面元素的j s函数调用,即获取这个元素标签里 onmousedown 或者 onclick 属性的值。
步骤S503,根据js函数调用获得待测页面元素的类型。
步骤S504,判断待测页面元素的类型是否与配置项中指定的fm_type相同,其中, fm_type为指导的类型,例如普通结果、阿拉丁结果或者一般链接等。当然,在本发明的实施 例中还可设置其他类型。如果判断不同,则返回步骤S502。
步骤S505,如果判断待测页面元素的类型与配置项中指定的fm_type相同,则将 URL、题目和标签填充至js函数调用。
如图6所示,为本发明实施例的点击日志生成装置结构图。该点击日志生成装置 包括待测页面开启模块1100、分析模块1200、HTML源码获得模块1300、提取模块1400、点 击日志生成模块1500和发送模块1600。
其中,待测页面开启模块1100用于打开待测页面。在本发明的一个实施例中,该 待测页面为搜索结果页面,待测页面元素为搜索结果页面中的内容信息,例如搜索结果页 面上的所有搜索结果、相关搜索、各种页面提示和各种广告等。
其中,分析模块1200用于分析通过待测页面开启模块1100开启的待测页面,以获 得待测页面元素的URL。HTML源码获得模块1300用于解析待测页面所对应的URL以获得 待测页面所对应的HTML源码。提取模块1400用于在待测页面所对应的所述HTML源码中 提取js函数调用,其中,js函数调用之中填充有所述待测页面中的待测页面元素的URL、题 目(title)和标签(id)。点击日志生成模块1500用于在浏览器之中执行js函数调用以生 成相应的点击日志。发送模块1600用于将点击日志发送至服务器。
在本发明的一个实施例中,待测页面开启模块1100通过Selenium开源库打开待 测页面,且分析模块1200通过Selenium开源库中的get_location函数获得待测页面所对 应的URL。在本发明的另一个实施例中也可通过编写的专用函数实现。
在本发明的一个实施例中,待测页面开启模块1100进一步包括开启子模块1110、 输入子模块1120和点击确定子模块1130。其中,开启子模块1110用于通过Selenium开源 库打开浏览器的默认页面。在本发明的一个实施例中,该默认页面可为百度的搜索页面。当 然在本发明的其他实施例中,还可以google的搜索页面或者其他类似的搜索页面,或者其 他需要进行模拟点击生成点击日志的页面。其中,Selenium开源库为公知的已有开源库,在 此不再赘述。输入子模块1120用于通过Selenium开源库中的ap1: type函数在默认页面的 输入框中输入一个或多个检索词。例如在百度搜索页面中的搜索输入框中输入一个或多个检索词。点击确定子模块1130用于通过Selenium开源库中的click函数进行点击确认以 打开待测页面。在本发明的一个实施例中,如果默认页面为百度搜索页面,则通过Selenium 开源库中的click函数点击“百度一下”的按钮即可,从而打开搜索结果页面,即打开待测 页面。
在本发明的一个实施例中,点击日志生成模块1500通过Selenium开源库中的 run_script在浏览器中执行js函数调用。
在本发明的一个实施例中,HTML源码获得模块1300通过Ixml开源库解析所述待 测页面所对应的URL以获得URL对应的HTML源码。
在本发明的一个实施例中,提取模块1400提取待测页面中所有能产生点击日志 的待测页面元素的js函数调用。
在本发明的另一个实施例中,提取模块1400提取待测页面中配置项path对应的 页面节点内的所有待测页面元素的js函数调用。
在本发明的再一个实施例中,提取模块1400提取待测页面中配置项fm_type对应 的类型的待测页面元素的js函数调用。
本发明实施例首先通过开源库中的函数实现浏览器打开待检测页面,并通过开源 库函数获取待检测页面的HTML源码。然后,解析待检测页面的HTML源码,并在解析结果中 匹配待测页面元素的特性,从而找出所有待测页面元素的HTML源码。最后,分别从待测页 面元素的HTML源码中提取出js函数调用,并在浏览器端执行,即进行模拟点击,从而产生 待测页面元素的点击日志。通过本发明实施例,每分钟可生成约600条以上的点击日志,因 此大幅度地提高了测试速度。此外,在执行过程中无需人工干预,所以节约了人工成本。
另外,由于现有技术中仅能测试少量的检索词,而本发明实施例可批量地测试大 数量的检索词,从而大幅度地提升了测试检索词的覆盖度。更为重要地,现有技术中仅能 对搜索结果页面元素进行抽样点击以生成点击日志,而本发明实施例可对待测页面的所有 待测页面元素进行模拟点击,或者仅针对某个页面节点内的所有待测页面元素进行模拟点 击,或者,仅针对性地对某类型的待测页面元素进行模拟点击并生成点击日志,因此本发明 实施例大幅提升了页面内可测元素的覆盖范围,并且在测试对象方面具有可控性。
综上所示,本发明实施例可灵活地进行配置,因此能够支持当前所有的待测页面 元素以及未来新增的待测页面元素。
如图7所示,为本发明实施例的搜索结果调整方法流程图。在本发明的实施例中, 服务器还可根据生成的点击日志对相应检索词对应的搜索结果的权重进行调整,从而使得 搜索结果更准确,有效提高用户满意度。该方法包括以下步骤
步骤S701,打开待测页面。在本发明的一个实施例中,该待测页面为搜索结果页 面,待测页面元素为搜索结果页面中的内容信息,例如搜索结果页面上的所有搜索结果、相 关搜索、各种页面提示和各种广告等。以下实施例将以搜索结果页面为例进行详细描述。具 体地,在本发明的一个实施例中,通过Selenium开源库打开待测页面。同样地,在本发明的 另一个实施例中也可通过编写的专用函数实现。
步骤S702,分析待测页面,以获得待测页面的统一资源定位符URL。在本发明的 一个实施例中,通过Selenium开源库中的get_location函数获得所述待测页面所对应的 URL。同样地,在本发明的另一个实施例中,也可通过编写的专用函数实现。
在本发明的一个实施例中,待测页面上能被点击的元素种类有很多,例如结果种 类就包括普通结果、阿拉丁结果、一般链接等。但这个结果种类都有一个标识。现有的人工 点击方式点击无法灵活地进行选择性点击,而本发明实施例通过灵活性地配置文件可实现 选择性的点击。具体地,如上所述,本发明实施例可以模拟三种模拟点击模式
1、对待测页面上的所有能产生点击日志的待测页面元素均进行点击;
2、针对配置项path (格式为xpath或者css selector)对应的节点内的所有页面 元素进行点击;
3、只点击配置项fm_type对应种类的页面元素。
步骤S703,解析待测页面所对应的URL以获得待测页面所对应的HTML (超文本标 记语言)源码。在本发明的一个实施例中,可通过Ixml开源库解析待测页面所对应的URL, 以获得待测页面所对应的HTML源码。其中,Ixml开源库为已知的开源库,在此不再赘述。
步骤S704,在待测页面所对应的HTML源码中提取待测页面元素对应的js函数调 用,其中,js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目(title)和 标签(id) ο
步骤S705,在浏览器之中执行该js函数调用以生成相应的点击日志,并将点击日 志发送至服务器。在本发明的一个实施例中,通过Selenium开源库中的run_script在浏 览器中执行js函数调用。本发明实施例通过在浏览器之中执行js函数调用,从而可以方 便地生成点击日志。
步骤S706,服务器根据所述点击日志生成搜索结果的权重。
步骤S707,服务器根据搜索结果的权重对搜索结构进行调整。
如图8所示,为本发明实施例的搜索结果调整系统结构图。该系统包括终端2000 和服务器3000,其中,终端2000和服务器3000之间通过有线或无线的方式进行通信。在 本发明的实施例中,优选地,终端2000和服务器3000之间通过互联网相互通信。其中,终 端2000用于对待测页面进行分析,并在待测页面所对应的HTML源码中提取js函数调用, 在终端2000的浏览器之中执行js函数调用以生成相应的点击日志其中,js函数调用之中 填充有所述待测页面中的待测页面元素的URL、题目(title)和标签(id)。具体地,该终端 2000的结构与图6所示的点击日志生成装置的结构相同,在此不再赘述。服务器3000用于 接收终端2000发送的点击日志,并根据点击日志生成搜索结果的权重,以及根据搜索结果 的权重对搜索结构进行调整。
在本发明的实施例中,为了提高搜索结构的调整效率,服务器3000可与多台终端 2000相连,多台终端2000分别进行模拟点击从而生成相应的点击日志,服务器3000对这些 终端2000生成的点击日志进行汇总,从而根据汇总后的点击日志对搜索权重进行调整。
在本发明实施例之中,服务器可以根据模拟的点击日志对搜索结果的权重进行调 整,从而使得搜索结果更准确,有效提高用户满意度。此外,由于本发明实施例采用模拟点 击的方式生成点击日志,具有速度快、效率高的优点,因此在此基础上可以根据用户的喜好 随时对检索词进行调整,并生成相应的点击日志,从而根据点击日志对搜索权重及时进行 调整,以更有针对性及更好地满足用户的需求,提高用户的满意度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示 例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何 的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解在不 脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本 发明的范围由权利要求及其等同物限定。
权利要求
1.一种点击日志生成方法,其特征在于,包括以下步骤 分析待测页面,以获得所述待测页面的统一资源定位符URL ; 通过所述待测页面的URL以获得所述待测页面所对应的超文本标记语言HTML源码;在所述待测页面所对应的所述HTML源码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中待测页面元素的URL、题目和标签;以及在浏览器之中执行所述js函数调用以生成相应的点击日志。
2.如权利要求1所述的点击日志生成方法,其特征在于,还包括 通过Selenium开源库打开所述待测页面,并通过Selenium开源库中的get_location函数获得所述待测页面所对应的URL。
3.如权利要求2所述的点击日志生成方法,其特征在于,所述通过Selenium开源库打开待测页面进一步包括 通过所述Selenium开源库打开所述浏览器的默认页面; 通过所述Selenium开源库中的ap1: type函数在所述默认页面的输入框中输入一个或多个检索词;以及 通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
4.如权利要求3所述的点击日志生成方法,其特征在于,通过所述Selenium开源库中的run_SCript在所述浏览器中执行所述js函数调用。
5.如权利要求1所述的点击日志生成方法,其特征在于,通过Ixml开源库解析所述待测页面所对应的URL以获得所述URL对应的HTML源码。
6.如权利要求1所述的点击日志生成方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 从所述HTML源码中获得所有css selector为a[onmousedown]或者a[onclick]的待测页面元素,并将所述待测页面元素添加至第一列表; 遍历所述第一列表之中的待测页面元素,并提取每个待测页面元素的URL、题目和标签,并获取所述待测页面元素的js函数调用;以及将所述URL、题目和标签填充至所述js函数调用。
7.如权利要求1所述的点击日志生成方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 根据配置项从所述HTML源码中获得满足所述配置项的页面节点,并将所述页面节点添加至第二列表; 从所述第二列表中获得一个页面节点; 从所述页面节点对应的HTML源码的标签内部获得所有css selector为a [onmousedown]或者a[onclick]的待测页面元素,并将获得的所述待测页面元素添加至第三列表; 遍历所述第三列表之中的待测页面元素,提取每个待测页面元素的URL、题目和标签,并获取所述待测页面元素的js函数调用; 将所述URL、题目和标签填充至所述js函数调用;以及 在生成点击日志之后,继续从所述第二列表中获得其他页面节点并获得所述其他页面节点内待测页面元素的js函数调用。
8.如权利要求1-7任一项所述的点击日志生成方法,其特征在于,所述根据配置项从所述HTML源码中获得满足所述配置项的页面节点,并将所述页面节点添加至第二列表进一步包括 通过所述Selenium开源库中的getElement函数从所述HTML源码中获得所有满足所述配置项中给定path或者给定css selector的页面节点,并将所述页面节点添加至所述第二列表。
9.如权利要求1-8任一项所述的点击日志生成方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 从所述HTML源码中获得所有css selector为a [onmousedown]或者a[onclick]的待测页面元素,并将所述待测页面元素添加至第四列表; 遍历所述第四列表之中的待测页面元素,并提取每个待测页面元素的URL、题目和标签,并获取所述待测页面元素的js函数调用; 根据所述js函数调用获得所述待测页面元素的类型; 判断所述待测页面元素的类型是否与配置项中指定的fm_type相同;以及 如果判断相同,则将所述URL、题目和标签填充至所述js函数调用。
10.一种点击日志生成装置,其特征在于,包括 分析模块,用于分析所述待测页面,以获得待测页面的URL ; HTML源码获得模块,用于解析所述待测页面所对应的URL以获得所述待测页面所对应的HTML源码; 提取模块,用于在所述待测页面所对应的所述HTML源码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中待测页面元素的URL、题目和标签;以及 点击日志生成模块,用于在浏览器之中执行所述js函数调用以生成相应的点击日志。
11.如权利要求10所述的点击日志生成装置,其特征在于,所述待测页面开启模块通过Selenium开源库打开待测页面,且所述分析模块通过所述Selenium开源库中的get_location函数获得所述待测页面所对应的URL。
12.如权利要求11所述的点击日志生成装置,其特征在于,所述待测页面开启模块进一步包括 开启子模块,用于通过所述Selenium开源库打开所述浏览器的默认页面; 输入子模块,用于通过所述Selenium开源库中的ap1:type函数在所述默认页面的输入框中输入一个或多个检索词;以及 点击确定子模块,用于通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
13.如权利要求12所述的点击日志生成装置,其特征在于,所述点击日志生成模块通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
14.如权利要求10所述的点击日志生成装置,其特征在于,所述HTML源码获得模块通过Ixml开源库解析所述待测页面所对应的URL以获得所述URL对应的HTML源码。
15.如权利要求10所述的点击日志生成装置,其特征在于,所述提取模块提取所述待测页面中所有能产生点击日志的待测页面元素的js函数调用。
16.如权利要求10所述的点击日志生成装置,其特征在于,所述提取模块提取所述待测页面中配置项path对应的页面节点内的所有待测页面元素的js函数调用。
17.如权利要求10所述的点击日志生成装置,其特征在于,所述提取模块提取所述待测页面中配置项fm_type对应的类型的所述待测页面元素的js函数调用。
18.一种搜索结果调整方法,其特征在于,包括以下步骤 分析待测页面,以获得所述待测页面的URL ; 解析所述待测页面所对应的URL以获得所述待测页面所对应的超文本标记语言HTML源码; 在所述待测页面所对应的所述HTML源码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目和标签; 在浏览器之中执行所述js函数调用以生成相应的点击日志,并将所述点击日志发送至服务器; 所述服务器根据所述点击日志生成搜索结果的权重;以及 根据所述搜索结果的权重对搜索结构进行调整。
19.如权利要求18所述的搜索结果调整方法,其特征在于,还包括 通过Selenium开源库打开待测页面,并通过Selenium开源库中的get_location函数获得所述待测页面所对应的URL。
20.如权利要求19所述的搜索结果调整方法,其特征在于,所述通过Selenium开源库打开待测页面进一步包括 通过所述Selenium开源库打开所述浏览器的默认页面; 通过所述Selenium开源库中的ap1: type函数在所述默认页面的输入框中输入一个或多个检索词;以及 通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
21.如权利要求20所述的点搜索结果调整方法,其特征在于,通过所述Selenium开源库中的rUn_SCript在所述浏览器中执行所述js函数调用。
22.如权利要求18所述的搜索结果调整方法,其特征在于,通过Ixml开源库解析所述待测页面所对应的URL以获得所述URL对应的HTML源码。
23.如权利要求18所述的搜索结果调整方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 从所述HTML源码中获得所有css selector为a [onmousedown]或者a[onclick]的待测页面元素,并将所述待测页面元素添加至第一列表; 遍历所述第一列表之中的待测页面元素,并提取每个待测页面元素的URL、题目和标签,并获取所述待测页面元素的js函数调用;以及 将所述URL、题目和标签填充至所述js函数调用。
24.如权利要求18所述的搜索结果调整方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 根据配置项从所述HTML源码中获得满足所述配置项的页面节点,并将所述页面节点添加至第二列表; 从所述第二列表中获得一个页面节点; 从所述页面节点对应的HTML源码的标签内部获得所有css selector为a [onmousedown]或者a[onclick]的待测页面元素,并将获得的所述待测页面元素添加至第三列表; 遍历所述第三列表之中的待测页面元素,提取每个待测页面元素中包含的URL、题目和标签,并获取所述待测页面元素的js函数调用; 将所述URL、题目和标签填充至所述js函数调用;以及 在生成点击日志之后,继续从所述第二列表中获得其他页面节点并获得所述其他页面节点内待测页面元素的js函数调用。
25.如权利要求18所述的搜索结果调整方法,其特征在于,所述在待测页面所对应的所述HTML源码中提取js函数调用进一步包括 从所述HTML源码中获得所有css seletcor为a [onmousedown]或者a[onclick]的待测页面元素,并将所述待测页面元素添加至第四列表; 遍历所述第四列表之中的待测页面元素,并提取每个待测页面元素的URL、题目和标签,并获取所述待测页面元素的js函数调用; 根据所述js函数调用获得所述待测页面元素的类型; 判断所述待测页面元素的类型是否与配置项中指定的fm_type相同;以及 如果判断相同,则将所述URL、题目和标签填充至所述js函数调用。
26.一种搜索结果调整系统,其特征在于,包括 终端,用于对待测页面进行分析,并在所述待测页面所对应的HTML源码中提取js函数调用,在所述终端的浏览器之中执行所述js函数调用以生成相应的点击日志,其中,所述js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目和标签;以及 服务器,用于接收所述终端发送的点击日志,并根据所述点击日志生成搜索结果的权重,以及根据所述搜索结果的权重对搜索结构进行调整。
27.如权利要求26所述的搜索结果调整系统,其特征在于,所述终端包括 待测页面开启模块,用于打开待测页面; 分析模块,用于分析所述待测页面,以获得所述待测页面的URL ; HTML源码获得模块,用于解析所述待测页面所对应的URL以获得所述待测页面所对应的HTML源码; 提取模块,用于在所述待测页面所对应的所述HTML源码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目和标签;点击日志生成模块,用于在浏览器之中执行所述js函数调用以生成相应的点击日志;以及 发送模块,用于将所述点击日志发送至服务器。
28.如权利要求27所述的搜索结果调整系统,其特征在于,所述待测页面开启模块通过Selenium开源库打开待测页面,且所述分析模块通过所述Selenium开源库中的get_location函数获得所述待测页面所对应的URL。
29.如权利要求28所述的搜索结果调整系统,其特征在于,所述待测页面开启模块进一步包括 开启子模块,用于通过所述Selenium开源库打开所述浏览器的默认页面; 输入子模块,用于通过所述Selenium开源库中的ap1:type函数在所述默认页面的输入框中输入一个或多个检索词;以及 点击确定子模块,用于通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
30.如权利要求29所述的搜索结果调整系统,其特征在于,所述点击日志生成模块通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
31.如权利要求27所述的搜索结果调整系统,其特征在于,所述HTML源码获得模块通过Ixml开源库解析所述待测页面所对应的URL以获得所述URL对应的HTML源码。
32.如权利要27所述的搜索结果调整系统,所述提取模块提取所述待测页面中所有能产生点击日志的待测页面元素的js函数调用。
33.如权利要求27所述的搜索结果调整系统,其特征在于,所述提取模块提取所述待测页面中配置项path对应的页面节点内的所有待测页面元素的js函数调用。
34.如权利要求27所述的搜索结果调整系统,其特征在于,所述提取模块提取所述待测页面中配置项fm_type对应的类型的所述待测页面元素的js函数调用。
全文摘要
本发明提出了一种点击日志生成方法及利用该点击日志进行搜索结果调整的方法。该点击日志生成方法包括以下步骤分析待测页面,以获得所述待测页面的URL;通过所述待测页面的URL以获得所述待测页面所对应的超文本标记语言HTML源码;在所述待测页面所对应的所述HTML源码中提取js函数调用;以及在浏览器之中执行所述js函数调用以生成相应的点击日志。通过本发明实施例,每分钟可生成约600条以上的点击日志,因此大幅度地提高了测试速度。此外,在执行过程中无需人工干预,所以节约了人工成本。
文档编号G06F17/30GK103020087SQ20111028911
公开日2013年4月3日 申请日期2011年9月26日 优先权日2011年9月26日
发明者金敬亭, 乔敏 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1