CN103020087A - 点击日志的生成方法及装置,搜索结果调整方法及装置 - Google Patents

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

Info

Publication number
CN103020087A
CN103020087A CN2011102891172A CN201110289117A CN103020087A CN 103020087 A CN103020087 A CN 103020087A CN 2011102891172 A CN2011102891172 A CN 2011102891172A CN 201110289117 A CN201110289117 A CN 201110289117A CN 103020087 A CN103020087 A CN 103020087A
Authority
CN
China
Prior art keywords
page
measured
function call
url
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011102891172A
Other languages
English (en)
Inventor
金敬亭
乔敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN2011102891172A priority Critical patent/CN103020087A/zh
Publication of CN103020087A publication Critical patent/CN103020087A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提出了一种点击日志生成方法及利用该点击日志进行搜索结果调整的方法。该点击日志生成方法包括以下步骤:分析待测页面,以获得所述待测页面的URL;通过所述待测页面的URL以获得所述待测页面所对应的超文本标记语言HTML源码;在所述待测页面所对应的所述HTML源码中提取js函数调用;以及在浏览器之中执行所述js函数调用以生成相应的点击日志。通过本发明实施例,每分钟可生成约600条以上的点击日志,因此大幅度地提高了测试速度。此外,在执行过程中无需人工干预,所以节约了人工成本。

Description

点击日志的生成方法及装置,搜索结果调整方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种点击日志的自动生成方法及装置,以及利用该点击日志进行搜索结果调整的方法及装置。
背景技术
在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开源库中的api:type函数在所述默认页面的输入框中输入一个或多个检索词,例如在百度搜索页面中的搜索输入框中输入一个或多个检索词。
步骤S204,通过Selenium开源库中的click函数进行点击确认以打开待测页面。在本发明的一个实施例中,如果默认页面为百度搜索页面,则通过Selenium开源库中的click函数点击“百度一下”的按钮即可,从而打开搜索结果页面,即打开待测页面。
步骤S102,分析待测页面,以获得待测页面的URL(统一资源定位符)。在本发明的一个实施例中,通过Selenium开源库中的get_location函数获得所述待测页面所对应的URL。同样地,在本发明的另一个实施例中,也可通过编写的专用函数实现。
在本发明的一个实施例中,待测页面上能被点击的元素种类有很多,例如结果种类就包括普通结果、阿拉丁结果、一般链接等。但这个结果种类都有一个标识。现有的人工点击方式点击无法灵活地进行选择性点击,而本发明实施例通过灵活性地配置文件可实现选择性的点击。具体地,本发明实施例可以模拟三种模拟点击模式:
1、对待测页面上的所有能产生点击日志的待测页面元素均进行点击;
2、针对配置项path(格式为xpath或者css selector)对应的节点内的所有页面元素进行点击;
3、只点击配置项fm_type对应种类的页面元素。
上述三种模拟点击模式,将在以下的实施例中详细描述。
步骤S103,解析待测页面所对应的URL以获得待测页面所对应的HTML(超文本标记语言)源码。在本发明的一个实施例中,可通过lxml开源库解析待测页面所对应的URL,以获得待测页面所对应的HTML源码。其中,lxml开源库为已知的开源库,在此不再赘述。
步骤S104,在待测页面所对应的HTML源码中提取待测页面元素对应的js函数调用,其中,js函数调用之中填充有所述待测页面中的待测页面元素的URL、题目(title)和标签(id)。
步骤S105,在浏览器之中执行该js函数调用以生成相应的点击日志,并将点击日志发送至服务器。在本发明的一个实施例中,通过Selenium开源库中的run_script在浏览器中执行js函数调用。本发明实施例通过在浏览器之中执行js函数调用,从而可以方便地生成点击日志。js函数为javascript,其是一种脚本语言,用于在浏览器端执行。
本发明实施例,在待测页面的HTML中定义了一个生成点击日志的js函数。其中,函数传递的参数是一个字典类型,包括结果类型,title、url、标签、结果位置编号等信息。在可点击的页面元素的html标签中,通常都会包含类似如下具有下划线的部分:
<aonclick=″func({′fm′:′altp1′,′url′:this.href,′p1′:al_c(this),′p2′:0,′p3′:′ 1′});″>...</a>
此处就是生成点击日志的js函数调用,本发明实施例通过找到这样的页面元素并进行提取,从而实现模拟点击。例如提取:
func({′fm′:′altp1′,′url′:this.href,′p1′:al_c(this),′p2′:0,′p3′:′1′});这个部分,以及计算出相关的参数值,如url、title、p1等,然后将计算得到的这些值取代函数调用的变量,如this.href,al_c(this)等,即将URL等信息填充至所述js函数调用,从而形成一个可以直接执行的函数调用,如:
func({′fm′:′altp1′,′url′:www.sina.com.cn,′p1′:3,′p2′:0,′p3′:′1′});
最终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,或者可为cssselector。具体地,通过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开源库中的api:type函数在默认页面的输入框中输入一个或多个检索词。例如在百度搜索页面中的搜索输入框中输入一个或多个检索词。点击确定子模块1130用于通过Selenium开源库中的click函数进行点击确认以打开待测页面。在本发明的一个实施例中,如果默认页面为百度搜索页面,则通过Selenium开源库中的click函数点击“百度一下”的按钮即可,从而打开搜索结果页面,即打开待测页面。
在本发明的一个实施例中,点击日志生成模块1500通过Selenium开源库中的run_script在浏览器中执行js函数调用。
在本发明的一个实施例中,HTML源码获得模块1300通过lxml开源库解析所述待测页面所对应的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(超文本标记语言)源码。在本发明的一个实施例中,可通过lxml开源库解析待测页面所对应的URL,以获得待测页面所对应的HTML源码。其中,lxml开源库为已知的开源库,在此不再赘述。
步骤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生成的点击日志进行汇总,从而根据汇总后的点击日志对搜索权重进行调整。
在本发明实施例之中,服务器可以根据模拟的点击日志对搜索结果的权重进行调整,从而使得搜索结果更准确,有效提高用户满意度。此外,由于本发明实施例采用模拟点击的方式生成点击日志,具有速度快、效率高的优点,因此在此基础上可以根据用户的喜好随时对检索词进行调整,并生成相应的点击日志,从而根据点击日志对搜索权重及时进行调整,以更有针对性及更好地满足用户的需求,提高用户的满意度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (34)

1.一种点击日志生成方法,其特征在于,包括以下步骤:
分析待测页面,以获得所述待测页面的统一资源定位符URL;
通过所述待测页面的URL以获得所述待测页面所对应的超文本标记语言HTML源码;
在所述待测页面所对应的所述HTML源码中提取js函数调用,其中,所述js函数调用之中填充有所述待测页面中待测页面元素的URL、题目和标签;以及
在浏览器之中执行所述js函数调用以生成相应的点击日志。
2.如权利要求1所述的点击日志生成方法,其特征在于,还包括:
通过Selenium开源库打开所述待测页面,并通过Selenium开源库中的get_location函数获得所述待测页面所对应的URL。
3.如权利要求2所述的点击日志生成方法,其特征在于,所述通过Selenium开源库打开待测页面进一步包括:
通过所述Selenium开源库打开所述浏览器的默认页面;
通过所述Selenium开源库中的api:type函数在所述默认页面的输入框中输入一个或多个检索词;以及
通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
4.如权利要求3所述的点击日志生成方法,其特征在于,通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
5.如权利要求1所述的点击日志生成方法,其特征在于,通过lxml开源库解析所述待测页面所对应的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开源库中的api:type函数在所述默认页面的输入框中输入一个或多个检索词;以及
点击确定子模块,用于通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
13.如权利要求12所述的点击日志生成装置,其特征在于,所述点击日志生成模块通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
14.如权利要求10所述的点击日志生成装置,其特征在于,所述HTML源码获得模块通过lxml开源库解析所述待测页面所对应的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开源库中的api:type函数在所述默认页面的输入框中输入一个或多个检索词;以及
通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
21.如权利要求20所述的点搜索结果调整方法,其特征在于,通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
22.如权利要求18所述的搜索结果调整方法,其特征在于,通过lxml开源库解析所述待测页面所对应的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开源库中的api:type函数在所述默认页面的输入框中输入一个或多个检索词;以及
点击确定子模块,用于通过所述Selenium开源库中的click函数进行点击确认以打开所述待测页面。
30.如权利要求29所述的搜索结果调整系统,其特征在于,所述点击日志生成模块通过所述Selenium开源库中的run_script在所述浏览器中执行所述js函数调用。
31.如权利要求27所述的搜索结果调整系统,其特征在于,所述HTML源码获得模块通过lxml开源库解析所述待测页面所对应的URL以获得所述URL对应的HTML源码。
32.如权利要27所述的搜索结果调整系统,所述提取模块提取所述待测页面中所有能产生点击日志的待测页面元素的js函数调用。
33.如权利要求27所述的搜索结果调整系统,其特征在于,所述提取模块提取所述待测页面中配置项path对应的页面节点内的所有待测页面元素的js函数调用。
34.如权利要求27所述的搜索结果调整系统,其特征在于,所述提取模块提取所述待测页面中配置项fm_type对应的类型的所述待测页面元素的js函数调用。
CN2011102891172A 2011-09-26 2011-09-26 点击日志的生成方法及装置,搜索结果调整方法及装置 Pending CN103020087A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102891172A CN103020087A (zh) 2011-09-26 2011-09-26 点击日志的生成方法及装置,搜索结果调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102891172A CN103020087A (zh) 2011-09-26 2011-09-26 点击日志的生成方法及装置,搜索结果调整方法及装置

Publications (1)

Publication Number Publication Date
CN103020087A true CN103020087A (zh) 2013-04-03

Family

ID=47968701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102891172A Pending CN103020087A (zh) 2011-09-26 2011-09-26 点击日志的生成方法及装置,搜索结果调整方法及装置

Country Status (1)

Country Link
CN (1) CN103020087A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365542A (zh) * 2013-07-01 2013-10-23 携程计算机技术(上海)有限公司 用户点击行为展示方法及系统
CN104156485A (zh) * 2014-08-27 2014-11-19 北京国双科技有限公司 网页数据传输方法、装置及系统
CN106682686A (zh) * 2016-12-09 2017-05-17 北京拓明科技有限公司 一种基于手机上网行为的用户性别预测方法
CN108334379A (zh) * 2018-01-05 2018-07-27 北京明略软件系统有限公司 一种页面扩展功能的实现方法及实现装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236562A (zh) * 2008-02-01 2008-08-06 刘峰 网页屏幕区域点击热点分析方法
CN101443751A (zh) * 2004-11-22 2009-05-27 特鲁维奥公司 用于应用爬取器的方法和装置
CN101515300A (zh) * 2009-04-02 2009-08-26 阿里巴巴集团控股有限公司 一种Ajax网页内容的抓取方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101443751A (zh) * 2004-11-22 2009-05-27 特鲁维奥公司 用于应用爬取器的方法和装置
CN101236562A (zh) * 2008-02-01 2008-08-06 刘峰 网页屏幕区域点击热点分析方法
CN101515300A (zh) * 2009-04-02 2009-08-26 阿里巴巴集团控股有限公司 一种Ajax网页内容的抓取方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365542A (zh) * 2013-07-01 2013-10-23 携程计算机技术(上海)有限公司 用户点击行为展示方法及系统
CN103365542B (zh) * 2013-07-01 2016-08-31 上海携程商务有限公司 用户点击行为展示方法及系统
CN104156485A (zh) * 2014-08-27 2014-11-19 北京国双科技有限公司 网页数据传输方法、装置及系统
CN104156485B (zh) * 2014-08-27 2018-05-18 北京国双科技有限公司 网页数据传输方法、装置及系统
CN106682686A (zh) * 2016-12-09 2017-05-17 北京拓明科技有限公司 一种基于手机上网行为的用户性别预测方法
CN108334379A (zh) * 2018-01-05 2018-07-27 北京明略软件系统有限公司 一种页面扩展功能的实现方法及实现装置

Similar Documents

Publication Publication Date Title
US10713149B2 (en) Processing automation scripts of software
CN101853300B (zh) 一种视频下载服务网站的识别、评估方法及系统
Wang et al. How do developers react to restful api evolution?
CN103491205B (zh) 一种基于视频搜索的关联资源地址的推送方法和装置
CN101989303B (zh) 网站无障碍检测的自动化方法
CN102999634A (zh) 基于浏览器数据的用户导航推荐方法、系统及云端服务器
CN104182412A (zh) 一种网页爬取方法及系统
CN103324666A (zh) 一种基于微博数据的话题跟踪方法及装置
CN103428076A (zh) 向多类型终端或应用发送信息的方法和装置
CN104462547A (zh) 一种可配置的网页数据采集的方法及系统
CN104317931B (zh) 网页标题的确定方法和装置
CN102682046A (zh) 社交网络的节点搜索和分析方法及搜索系统
CN102402566A (zh) 基于中文网页自动分类技术的Web用户行为分析方法
CN103294732A (zh) 网页抓取方法及爬虫
CN107766234A (zh) 一种基于移动设备的网页健康度的测评方法、装置及系统
WO2014029318A1 (en) Method and apparatus for identifying webpage type
CN102902794B (zh) 网页分类系统及方法
CN103020087A (zh) 点击日志的生成方法及装置,搜索结果调整方法及装置
CN103744889A (zh) 一种用于对问题进行聚类处理的方法与装置
CN103544257B (zh) 网页质量检测方法和装置
CN106095674B (zh) 一种网站自动化测试方法和装置
CN105117434A (zh) 一种网页分类方法和系统
CN102541946B (zh) 基于超链接的推荐属性确定超链推荐度的方法与设备
CN102567417A (zh) 一种用于确定超链接的锚文本可信度的分析设备和方法
CN102929948B (zh) 列表页识别系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130403

RJ01 Rejection of invention patent application after publication