获取网络资源的方法和装置
技术领域
本发明实施例涉及通信技术领域, 尤其涉及一种获取网络资源的方法 和装置。 背景技术
目前, 为满足不同用户通过网站观看媒体文件的需求, 一个网站有不同 语言版本的媒体文件, 例如同一部电影有英文、 中文、 俄文等版本, 用户观 看时可选择符合自己语言要求的版本进行播放。
实现上述功能的现有技术一般有如下两种: 一、 网站开发人员通过在 服务器端开发代码或网页脚本语言, 使得服务端根据用户选择的语言信息 或用户本地终端的语言配置信息为用户选择特定语言版本的媒体资源; 二、 在网页中列出所有版本的媒体文件, 通过客户端脚本代码遍历这些文 件, 并根据客户端配置信息为用户选择相应语言版本的媒体文件。
当语言版本出现改动, 比如版本的增加、 减少或更新, 在上述技术一 中,就必须由网站开发人员修改服务器端代码和数据库,在上述技术二中, 就必须由网站开发人员修改网页客户端中的脚本代码, 这样会增加网站开 发人员的工作量。 发明内容
本发明实施例提供一种获取网络资源的方法和装置, 可实现浏览器根 据用户的语言偏好自动选择特定语言版本的媒体文件, 降低网站开发人员 的工作量。
第一方面, 本发明实施例提供一种获取网络资源的方法, 包括: 提取浏览器的语言配置信息, 从所述语言配置信息中提取语言信息放 入语言列表中;
向 Web服务器发送超文本传送协议 HTTP请求, 以请求媒体播放页 面或媒体列表页面;
加载所述 Web服务器返回的网页, 定位媒体元素所在的位置; 将所述媒体元素下的指定资源元素的语言属性的值与所述语言列表 中的所述语言信息进行匹配, 选择媒体资源地址;
根据所述媒体资源地址向所述 Web服务器请求并加载媒体资源。 在第一方面的第一种可能的实施方式中, 所述提取浏览器的语言配置 信息, 包括:
提取浏览器的语言配置信息和用户操作系统的语言设置信息; 按照预先设定或者用户选择的浏览器的语言配置信息优先级和用户 操作系统的语言设置信息优先级进行选择。
结合第一方面或第一方面的第一种可能的实施方式中, 在第一方面的 第二种可能的实施方式中, 所述提取浏览器的语言配置信息, 从所述语言 配置信息中提取语言信息放入语言列表中, 包括:
将所述语言配置信息中的字符串根据逗号分隔为不同的语言信息; 将分割后的语言信息依次放入语言列表中;
其中, 若所述分割后的语言信息中有分号, 则取分号前的字符串, 否 则取全部字符串。
结合第一方面, 在第一方面的第三种可能的实施方式中, 所述提取浏 览器的语言配置信息之前, 还包括:
在浏览器的语言配置中分别添加视频、 音频和字幕的语言偏好的设置 信息;
所述提取浏览器的语言配置信息, 从所述语言配置信息中提取语言信 息放入语言列表中, 包括:
分别提取浏览器的视频、 音频和字幕的语言偏好的设置信息, 放入语 言列表中。
结合第一方面的第三种可能的实施方式, 在第一方面的第四种可能的 实施方式中, 所述分别提取浏览器的视频、 音频和字幕的语言偏好的设置 信息, 放入语言列表中, 包括:
分别将所述视频、 音频和字幕的语言偏好的设置信息中的语言信息以 逗号相连, 得到字符串;
将所述字符串根据逗号分隔为不同的语言信息, 并将所述语言信息依
次放入相应的视频、 音频和字幕语言列表中;
其中, 若所述语言信息中有分号, 则取分号前的字符串, 否则取全部 字符串。
结合第一方面至第一方面的第四种可能的实施方式中任一项所述的 方法, 在第一方面的第五种可能的实施方式中, 所述将所述媒体元素下的 指定资源元素的语言属性的值与所述语言列表中的所述语言信息进行匹 配, 选择媒体资源地址, 包括:
所述媒体元素下的指定资源元素有语言属性时, 依次提取所述语言列 表中的语言信息;
将提取的语言信息与所述媒体元素下的所有指定资源元素的语言属 性的值依次进行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选择所述第一指定资源元素的资源地址属性值指定的媒体资源地址, 否 则选择所述媒体元素的下的第一个指定资源元素的资源地址属性值指定 的媒体资源地址;
所述媒体元素下的指定资源元素没有语言属性时, 选择所述媒体元素 下的第一个指定资源元素的资源地址属性值指定的媒体资源地址。
结合第一方面的第五种可能的实施方式, 在第一方面的第六种可能的 实施方式中, 所述媒体元素包括视频元素、 音频元素和字幕元素。
第二方面, 本发明实施例提供一种获取网络资源的装置, 包括: 提取模块, 用于提取浏览器的语言配置信息, 从所述语言配置信息中 提取语言信息放入语言列表中;
发送模块, 用于向 Web服务器发送超文本传送协议 HTTP请求, 以 请求媒体播放页面或媒体列表页面;
处理模块, 用于加载所述 Web 服务器返回的网页, 定位所述第一媒 体资源地址对应的第一媒体元素所在的位置, 所述第一媒体元素包括第一 视频元素、 第一音频元素和第一字幕元素;
所述处理模块还用于: 将所述媒体元素下的指定资源元素的语言属性 的值与所述语言列表中的所述语言信息进行匹配, 选择媒体资源地址; 所述处理模块还用于: 根据所述媒体资源地址向所述 Web 服务器请 求并加载媒体资源。
在第二方面的第一种可能的实施方式中, 所述提取模块用于: 提取浏览器的语言配置信息和用户操作系统的语言设置信息; 按照预先设定或者用户选择的浏览器的语言配置信息优先级和用户 操作系统的语言设置信息优先级进行选择。
结合第二方面或第二方面的第一种可能的实施方式, 在第二方面的第 二种可能的实施方式中, 所述提取模块还用于:
将所述语言配置信息中的字符串根据逗号分隔为不同的语言信息; 将分割后的语言信息依次放入语言列表中;
其中, 若所述分割后的语言信息中有分号, 则取分号前的字符串, 否 则取全部字符串。
结合第二方面, 在第二方面的第三种可能的实施方式中, 还包括: 添加模块, 用于在所述提取模块提取浏览器的语言配置信息之前, 在 浏览器的语言配置中分别添加视频、 音频和字幕的语言偏好的设置信息; 所述提取模块用于:
分别提取浏览器的视频、 音频和字幕的语言偏好的设置信息, 放入语 言列表中。
结合第二方面的第三种可能的实施方式, 在第二方面的第四种可能的 实施方式中, 所述提取模块具体用于:
分别将所述视频、 音频和字幕的语言偏好的设置信息中的语言信息以 逗号相连, 得到字符串;
将所述字符串根据逗号分隔为不同的语言信息, 并将所述语言信息依 次放入相应的视频、 音频和字幕语言列表中;
其中, 若所述语言信息中有分号, 则取分号前的字符串, 否则取全部 字符串。
结合第二方面至第二方面的第四种可能的实施方式中任一项所述的 方法, 在第二方面的第五种可能的实施方式中, 所述处理模块用于:
所述媒体元素下的指定资源元素有语言属性时, 依次提取所述语言列 表中的语言信息;
将提取的语言信息与所述媒体元素下的所有指定资源元素的语言属 性的值依次进行匹配, 若存在匹配的第一指定资源元素的语言属性的值,
则选择所述第一指定资源元素的资源地址属性值指定的媒体资源地址, 否 则选择所述媒体元素的下的第一个指定资源元素的资源地址属性值指定 的媒体资源地址;
所述媒体元素下的指定资源元素没有语言属性时, 选择所述媒体元素 下的第一个指定资源元素的资源地址属性值指定的媒体资源地址。
结合第二方面的第五种可能的实施方式, 在第二方面的第六种可能的 实施方式中, 所述媒体元素包括视频元素、 音频元素和字幕元素。
本发明实施例提供的获取网络资源的方法和装置, 通过浏览器在发送 HTTP请求网页之前, 提取浏览器的语言配置信息, 从语言配置信息中提 取语言信息放入语言列表中, 浏览器在加载 Web 服务器返回的网页, 定 位媒体元素所在的位置后, 将媒体元素下的指定资源元素的语言属性的值 与语言列表中的语言信息进行匹配, 选择媒体资源地址, 最后根据媒体资 源地址向 Web 服务器请求并加载媒体资源。 因此可实现浏览器根据用户 的语言偏好自动选择特定语言版本的媒体文件, 降低网站开发人员的工作 量。 而且不需要用户去手动选择, 提高用户体验。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
图 1为本发明获取网络资源的方法实施例一的流程图;
图 2为本发明获取网络资源的方法实施例二的流程图;
图 3为本发明获取网络资源的方法实施例三的流程图;
图 4为本发明获取网络资源的方法实施例四的流程图;
图 5为本发明获取网络资源的装置实施例一的结构示意图; 图 6为本发明获取网络资源的装置实施例二的结构示意图。 具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然,所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1为本发明获取网络资源的方法实施例一的流程图, 本实施例以浏 览器作为执行主体为例进行说明,如图 1所示,本实施例的方法可以包括: S101、 提取浏览器的语言配置信息, 从语言配置信息中提取语言信息 放入语言列表中。
具体来说, 提取浏览器的语言配置信息, 还有两种可实施的方式, 作 为一种可实施的方式,
S101a、 提取浏览器的语言配置信息和用户操作系统的语言设置信息; 按照预先设定或者用户选择的浏览器的语言配置信息优先级和用户 操作系统的语言设置信息优先级进行选择。
在上述两种实施方式中, 提取浏览器的语言配置信息, 放入语言列表 中, 例如可以为:
将语言配置信息中的字符串根据逗号分隔为不同的语言信息; 将分割 后的语言信息依次放入语言列表中。其中,若分割后的语言信息中有分号, 则取分号前的字符串, 否则取全部字符串。
作为另一种可实施的方式,提取浏览器的语言配置信息之前,还包括:
S101b、 在浏览器的语言配置中分别添加视频、 音频和字幕的语言偏 好的设置信息。
S101具体可以为:
S101c、 分别提取浏览器的视频、 音频和字幕的语言偏好的设置信息, 放入相应的视频、 音频和字幕语言列表中。
具体地, SlOlc为: 分别将视频、 音频和字幕的语言偏好的设置信息 中的语言信息以逗号相连, 得到字符串。 将字符串根据逗号分隔为不同的 语言信息, 并将语言信息依次放入相应的视频、 音频和字幕语言列表中。 其中, 若语言信息中有分号, 则取分号前的字符串, 否则取全部字符串。
S102、 向 Web 服务器发送超文本传送协议 (Hypertext transfer
protocol , 以下简称: HTTP ) 请求, 以请求媒体播放页面或媒体列表页 面。 例如浏览器发送 HTTP请求, 请求某视频播放网的页面。
5103、 加载 Web服务器返回的网页, 定位媒体元素所在的位置。
5104、将媒体元素下的指定资源元素的语言属性的值与语言列表中的 语言信息进行匹配, 选择媒体资源地址。
5105、 根据媒体资源地址向 Web服务器请求并加载媒体资源。
具体地, 浏览器将媒体元素下的指定资源元素的语言属性的值与语言 列表中的语言信息进行匹配, 选择媒体资源地址, 具体可以为:
媒体元素下的指定资源元素有语言属性时, 依次提取语言列表中的语 言信息。
将提取的语言信息与媒体元素下的所有指定资源元素的语言属性的 值依次进行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选 择第一指定资源元素的资源地址属性值指定的媒体资源地址, 否则选择媒 体元素的下的第一个指定资源元素的资源地址属性值指定的媒体资源地 址。
媒体元素下的指定资源元素没有语言属性时, 选择媒体元素下的第一 个指定资源元素的资源地址属性值指定的媒体资源地址。
然后浏览器根据媒体资源地址向 Web 服务器请求并加载媒体资源, 将网页呈现给用户, 用户点击播放的直接就是与用户偏好的语言相符的媒 体文件。
其中, 媒体元素包括视频元素、 音频元素和字幕元素。
对于视频元素, S104为:
视频元素下的指定资源元素有语言属性时, 依次提取语言列表中的语 自
将提取的语言信息与视频元素下的指定资源元素的语言属性的值进 行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选择第一指 定资源元素的资源地址属性值指定的视频资源地址, 否则选择视频元素下 的第一个指定资源元素的资源地址属性值指定的视频资源地址。
视频元素下的指定资源元素没有语言属性时, 选择视频元素的下的第 一个指定资源元素的资源地址属性值指定的视频资源地址。
对于音频元素, S104为:
音频元素下的指定资源元素有语言属性时, 依次提取语言列表中的语 自
将提取的语言信息与音频元素下的指定资源元素的语言属性的值进 行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选择第一指 定资源元素的资源地址属性值指定的音频资源地址, 否则选择音频元素下 的第一个指定资源元素的资源地址属性值指定的音频资源地址。
音频元素下的指定资源元素没有语言属性时, 选择音频元素的下的第 一个指定资源元素的资源地址属性值指定的音频资源地址。
对于字幕元素, S104为:
视频元素下的指定字幕元素有语言属性时, 依次提取语言列表中的语 自
将提取的语言信息与视频元素下的指定字幕元素的语言属性的值进 行匹配, 若存在匹配的第一指定字幕元素的语言属性的值, 则选择第一指 定字幕元素的资源地址属性值指定的字幕资源地址, 否则选择视频元素下 的第一个指定字幕元素的资源地址属性值指定的字幕资源地址。
视频元素下的指定字幕元素没有语言属性时, 选择视频元素下的第一 个指定字幕元素的资源地址属性值指定的字幕资源地址。
本实施例提供的获取网络资源的方法, 通过浏览器在发送 HTTP请求 网页之前, 提取浏览器的语言配置信息, 从语言配置信息中提取语言信息 放入语言列表中, 浏览器在加载 Web 服务器返回的网页, 定位媒体元素 所在的位置后, 将媒体元素下的指定资源元素的语言属性的值与语言列表 中的语言信息进行匹配, 选择媒体资源地址, 最后根据媒体资源地址向 Web服务器请求并加载媒体资源。因此可实现浏览器根据用户的语言偏好 自动选择特定语言版本的媒体文件, 降低网站开发人员的工作量。 而且不 需要用户去手动选择, 提高用户体验。
下面采用三个具体的实施例, 对上述所示方法实施例的技术方案进行 详细说明。
图 2为本发明获取网络资源的方法实施例二的流程图, 如图 2所示, 本实施例的方法可以包括:
5201、 浏览器提取浏览器的语言配置信息, 从语言配置信息中提取语 言信息放入语言列表中。
具体地, 可以为: 将语言配置信息中的字符串根据逗号分隔为不同的 语言信息; 将分割后的语言信息依次放入语言列表中。 其中, 若分割后的 语言信息中有分号, 则取分号前的字符串, 否则取全部字符串。
例如, 浏览器的语言配置信息为 zh-CN,zh;q=0.8,de;q=0.6, 其中, q 为权重, 没有则默认权重为 1, zh-CN的权重就为 1, 提取过程如下: 根据字符 串 中 的 " , " 分割字符 串 , 如分割为三部分 [zh-CN][zh;q=0.8] [de;q=0.6] ; 如果被分隔的部分有 ";" , 则取 ";" 前的 字符串。 如 zh;q=0.8, 取 zh , 否则取全部字符串 。 最后将所取字符串 [zh-CN] [zh] [de]依次放入语言列表中。
5202、 浏览器向 Web服务器发送 HTTP请求, 以请求媒体播放页面 或媒体列表页面。
5203、 浏览器加载 Web 服务器返回的网页, 定位媒体元素所在的位 置, 媒体元素包括视频元素、 音频元素和字幕元素。
5204、浏览器将媒体元素下的指定资源元素的语言属性的值与语言列 表中的语言信息进行匹配, 选择媒体资源地址。
5205、 浏览器根据媒体资源地址向 Web服务器请求并加载媒体资源。 具体地, S204和 S205过程如下:
对于视频元素, 视频元素下的子元素 (source ) 即指定资源元素的语 言 (lang ) 属性指定语言, src属性指定视频资源地址。 具体过程为:
Sl、 如果 source元素有语言属性, 则从语言列表中提取第一个语言信 息, 与所有 source元素的语言属性依次进行对比。 如果能够与其中一个语 言属性完全匹配上, 则浏览器请求该 source元素指定的视频资源;
S2、 如果不匹配, 则遍历语言列表中其余语言信息并重复 S1中步骤, 直到找到完全匹配为止。
S3、 如果 S2中无匹配, 则将语言列表中每个语言信息中有 " - " 前的 字符串 (无 " - " 则取整个字符串)与所有 source元素的语言属性匹配, 如完 全匹配则浏览器请求该 source元素指定的视频资源;
S4、 如果 S3中无匹配, 则将语言列表中有每个语言信息中 " - " 前的
字符串与所有 source元素的语言属性值中 " - " 前的字符串 (无 " - " 则取整 个字符串)匹配, 如完全匹配则浏览器请求该 source元素指定的视频资源; S5、 如果 S4中无匹配, 则请求第一个 source元素指定的视频资源。 对于音频元素, 音频元素下的子元素 (source ) 的语言 (lang ) 属性 指定语言, src 属性指定视频资源地址。 将音频元素的语言属性与语言列 表中的语言信息进行匹配, 选择特定语言的音频资源地址, 根据特定语言 的音频资源地址向 Web 服务器请求并加载特定语言的音频资源具体过程 与上述视频元素的处理过程相同, 此处不再赘述。
对于字幕元素, 视频元素下的子元素 (track ) 指定字幕元素, track 元素的语言 (lang ) 属性指定语言, src属性指定字幕资源地址。 将字幕元 素的语言属性与语言列表中的语言信息进行匹配, 选择特定语言的字幕资 源地址, 根据特定语言的字幕资源地址向 Web 服务器请求并加载特定语 言的字幕资源, 具体过程为:
51、 如果 track元素有语言属性, 则从语言列表中提取第一个语言信 息, 与所有 track元素的语言属性的值依次进行对比。 如果能够与其中一 个语言属性完全匹配上, 则浏览器请求该 track元素指定的字幕资源;
52、 如果不匹配, 则遍历语言列表中其余语言信息并重复 S1中步骤, 直到找到完全匹配为止。
53、 如果 S2中无匹配, 则将语言列表中每个语言信息中有 " - " 前的 字符串 (无 " - "则取整个字符串)与所有 track元素的语言属性的值匹配, 如 完全匹配则浏览器请求该 track元素指定的字幕资源;
54、 如果 S3中无匹配, 则将语言列表中有每个语言信息中 " - " 前的 字符串与所有 track元素的语言属性值中 " - "前的字符串 (无 "- " 则取整个 字符串)匹配, 如完全匹配则浏览器请求该 track元素指定的字幕资源;
S5、 如果 S4中无匹配, 则请求第一个 track元素指定的字幕资源。 之后用户就可播放媒体文件。
图 3为本发明获取网络资源的方法实施例三的流程图, 如图 3所示, 本实施例的方法可以包括:
S301、 提取浏览器的语言配置信息和用户操作系统的语言设置信息, 按照预先设定或者用户选择的浏览器的语言配置信息优先级和用户操作
系统的语言设置信息优先级进行选择。
接下来的步骤 S302~ S305与图 2所示步骤 S202~ S205相同, 此处不 再赘述。
图 4为本发明获取网络资源的方法实施例四的流程图, 如图 4所示, 本实施例的方法可以包括:
5401、 在浏览器的语言配置中分别添加视频、 音频和字幕的语言偏好 的设置信息。
5402、 分别提取浏览器的视频、 音频和字幕的语言偏好的设置信息, 放入语言列表中。
具体地, 分别将视频、 音频和字幕的语言偏好的设置信息中的语言信 息以逗号相连, 得到字符串。 将字符串根据逗号分隔为不同的语言信息, 并将语言信息依次放入语言列表中。 其中, 若语言信息中有分号, 则取分 号前的字符串, 否则取全部字符串。
接下来的步骤 S403~ S406与图 2所示步骤 S202~ S205相同, 此处不 再赘述。
图 5为本发明获取网络资源的装置实施例一的结构示意图, 如图 5所 示, 本实施例的装置可以包括: 提取模块 11、发送模块 12和处理模块 13, 其中, 提取模块 11 用于提取浏览器的语言配置信息, 从语言配置信息中 提取语言信息放入语言列表中。 发送模块 12用于向 Web服务器发送超文 本传送协议 HTTP请求, 以请求媒体播放页面或媒体列表页面。 处理模块 13用于加载 Web服务器返回的网页, 定位第一媒体资源地址对应的第一 媒体元素所在的位置。 处理模块 13 还用于: 将所述媒体元素下的指定资 源元素的语言属性的值与所述语言列表中的所述语言信息进行匹配, 选择 媒体资源地址。 处理模块 13还用于: 根据所述媒体资源地址向所述 Web 服务器请求并加载媒体资源。
作为一种可实施的方式, 提取模块 11 用于: 提取浏览器的语言配置 信息和用户操作系统的语言设置信息; 按照预先设定或者用户选择的浏览 器的语言配置信息优先级和用户操作系统的语言设置信息优先级进行选 择。
进一步地, 提取模块 11 还用于: 将语言配置信息中的字符串根据逗
号分隔为不同的语言信息; 将分割后的语言信息依次放入语言列表中。 其 中, 若分割后的语言信息中有分号, 则取分号前的字符串, 否则取全部字 符串。
作为另一种可实施的方式, 获取网络资源的装置还包括: 添加模块, 该添加模块用于在提取模块提取浏览器的语言配置信息之前, 在浏览器的 语言配置中分别添加视频、 音频和字幕的语言偏好的设置信息。
提取模块 11 用于: 分别提取浏览器的视频、 音频和字幕的语言偏好 的设置信息, 放入语言列表中。
具体来说, 提取模块 11 具体用于: 分别将视频、 音频和字幕的语言 偏好的设置信息中的语言信息以逗号相连, 得到字符串; 将字符串根据逗 号分隔为不同的语言信息, 并将语言信息依次放入相应的视频、 音频和字 幕语言列表中。 其中, 若语言信息中有分号, 则取分号前的字符串, 否则 取全部字符串。
在上述实施例中, 处理模块 13用于: 所述媒体元素下的指定资源元 素有语言属性时, 依次提取所述语言列表中的语言信息;
将提取的语言信息与所述媒体元素下的所有指定资源元素的语言属 性的值依次进行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选择所述第一指定资源元素的资源地址属性值指定的媒体资源地址, 否 则选择所述媒体元素的下的第一个指定资源元素的资源地址属性值指定 的媒体资源地址;
所述媒体元素下的指定资源元素没有语言属性时, 选择所述媒体元素 下的第一个指定资源元素的资源地址属性值指定的媒体资源地址。
其中, 媒体元素包括视频元素、 音频元素和字幕元素。
本实施例的装置, 可以用于执行图 1所示方法实施例的技术方案, 其 实现原理类似, 此处不再赘述。
本实施例提供的获取网络资源的装置, 通过发送模块在发送 HTTP请 求网页之前, 提取模块提取浏览器的语言配置信息, 从语言配置信息中提 取语言信息放入语言列表中, 处理模块在加载 Web 服务器返回的网页, 定位媒体元素所在的位置后, 将媒体元素下的指定资源元素的语言属性的 值与语言列表中的语言信息进行匹配, 选择媒体资源地址, 最后根据媒体
资源地址向 Web 服务器请求并加载媒体资源。 因此可实现浏览器根据用 户的语言偏好自动选择特定语言版本的媒体文件, 降低网站开发人员的工 作量。 而且不需要用户去手动选择, 提高用户体验。
图 6为本发明获取网络资源的装置实施例二的结构示意图, 如图 6所 示, 本实施例的装置可以包括: 处理器 21和发送器 22, 其中, 处理器 21 用于提取浏览器的语言配置信息, 从语言配置信息中提取语言信息放入语 言列表中。发送器 22用于向 Web服务器发送超文本传送协议 HTTP请求, 以请求媒体播放页面或媒体列表页面。 处理器 21还用于加载 Web服务器 返回的网页, 定位第一媒体资源地址对应的第一媒体元素所在的位置。 处 理器 21 还用于: 将所述媒体元素下的指定资源元素的语言属性的值与所 述语言列表中的所述语言信息进行匹配, 选择媒体资源地址。 处理器 21 还用于: 根据所述媒体资源地址向所述 Web服务器请求并加载媒体资源。
作为一种可实施的方式, 处理器 21 用于: 提取浏览器的语言配置信 息和用户操作系统的语言设置信息; 按照预先设定或者用户选择的浏览器 的语言配置信息优先级和用户操作系统的语言设置信息优先级进行选择。
进一步地, 处理器 21 还用于: 将语言配置信息中的字符串根据逗号 分隔为不同的语言信息;将分割后的语言信息依次放入语言列表中。其中, 若分割后的语言信息中有分号,则取分号前的字符串,否则取全部字符串。
作为另一种可实施的方式, 处理器 21 还用于: 在提取浏览器的语言 配置信息之前, 在浏览器的语言配置中分别添加视频、 音频和字幕的语言 偏好的设置信息。
处理器 21 用于: 分别提取浏览器的视频、 音频和字幕的语言偏好的 设置信息, 放入语言列表中。
具体来说, 处理器 21 具体用于: 分别将视频、 音频和字幕的语言偏 好的设置信息中的语言信息以逗号相连, 得到字符串; 将字符串根据逗号 分隔为不同的语言信息, 并将语言信息依次放入相应的视频、 音频和字幕 语言列表中。 其中, 若语言信息中有分号, 则取分号前的字符串, 否则取 全部字符串。
在上述实施例中, 处理器 21 用于: 所述媒体元素下的指定资源元素 有语言属性时, 依次提取所述语言列表中的语言信息;
将提取的语言信息与所述媒体元素下的所有指定资源元素的语言属 性的值依次进行匹配, 若存在匹配的第一指定资源元素的语言属性的值, 则选择所述第一指定资源元素的资源地址属性值指定的媒体资源地址, 否 则选择所述媒体元素的下的第一个指定资源元素的资源地址属性值指定 的媒体资源地址;
所述媒体元素下的指定资源元素没有语言属性时, 选择所述媒体元素 下的第一个指定资源元素的资源地址属性值指定的媒体资源地址。
其中, 媒体元素包括视频元素、 音频元素和字幕元素。
本实施例的装置, 可以用于执行图 1所示方法实施例的技术方案, 其 实现原理类似, 此处不再赘述。
本实施例提供的获取网络资源的装置, 通过发送器在发送 HTTP请求 网页之前, 处理器提取浏览器的语言配置信息, 从语言配置信息中提取语 言信息放入语言列表中, 处理器在加载 Web 服务器返回的网页, 定位媒 体元素所在的位置后, 将媒体元素下的指定资源元素的语言属性的值与语 言列表中的语言信息进行匹配, 选择媒体资源地址, 最后根据媒体资源地 址向 Web 服务器请求并加载媒体资源。 因此可实现浏览器根据用户的语 言偏好自动选择特定语言版本的媒体文件, 降低网站开发人员的工作量。 而且不需要用户去手动选择, 提高用户体验。
此处需说明的是, 本实施例提供的获取网络资源的方法和装置不限于 媒体资源的获取, 也可以是图片等网络资源的获取。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性 的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以 有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个 系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口, 装置或单元的间接 耦合或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地 方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的 部分或者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元 中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在 一个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用硬 件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元, 可以存储在一个计算 机可读取存储介质中。 上述软件功能单元存储在一个存储介质中, 包括若 干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络 设备等) 或处理器 (processor) 执行本发明各个实施例所述方法的部分步 骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器 (Read-Only Memory, ROM ) 、 随机存耳又存储器 ( Random Access Memory, RAM ) 、 磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到, 为描述的方便和简洁, 仅以上述 各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而将上述功 能分配由不同的功能模块完成, 即将装置的内部结构划分成不同的功能模 块, 以完成以上描述的全部或者部分功能。 上述描述的装置的具体工作过 程, 可以参考前述方法实施例中的对应过程, 在此不再赘述。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。