一种基于服务模拟交互的视频内容获取方法及系统的制作方法

文档序号:7986557阅读:133来源:国知局
一种基于服务模拟交互的视频内容获取方法及系统的制作方法
【专利摘要】本发明提供了一种基于服务模拟交互的视频内容获取方法及系统,该方法通过模拟浏览器和Web服务器交互得到视频的下载地址,所述方法包含:步骤101)模拟浏览器通过视频播放页面的html文件,取得视频的ID号;步骤102)模拟浏览器根据视频的ID号组装请求视频播放列表的url,向Web服务器发送http请求得到该Web服务器反馈的播放列表文件;步骤103)模拟浏览器从url播放列表中提取出视频的清晰度信息,拼成视频播放列表的url,再次向Web服务器发送http请求,得到视频播放列表的文件;步骤104)模拟浏览器从视频播放列表文件中提取相关信息,拼接成视频的下载地址。
【专利说明】一种基于服务模拟交互的视频内容获取方法及系统
【技术领域】
[0001]本发明属于网络新媒体【技术领域】,特别涉及到视频网站内容获取的方法,具体涉及一种基于服务模拟交互的视频内容获取方法及系统。
【背景技术】
[0002]网络媒体的迅速发展,影响了相应的延伸媒体,而视频网站依附网络这一快速、便捷手段,迅速发展,成为了网民的不可或缺的部分。视频网站的优势主要在视频内容分享上满足网民的多样需求。视频内容的分享为人们提供了信息存储空间和发布平台,人们可以在线观看和视频下载。
[0003]浏览器和Web服务器之间使用的主要是HTTP协议,HTTP是互联网上应用最广泛的协议,能够将超文本标记语言(HTML)文档从Web服务器传送到浏览器。HTML始终用于创建文档的标记语言,这些文档包含了相关信息的链接。HTTP因其简捷、快速的方式,适用于分布式超媒体信息系统。
[0004]当今的各大视频网站的最终视频的下载地址基本上不会出现在原始的html文件中,若要下载视频,必须注册视频网站的账号或者安装播放器,由于这个原因,使批量下载视频变得不可能。当通过浏览器请求视频的播放页面时,浏览器和Web服务器使用HTTP协议互相传送了很多消息,虽然视频的下载地址包含在这些消息中,但是如何找到有效的信息是一个关键问题。因此寻找一种能够解析出视频下载地址的方法势在必行。

【发明内容】

[0005]本发明的目的在于,为克服上述问题本发明提供一种基于服务模拟交互的视频内容获取方法及系统。
[0006]为了实现上述目的,本发明提供了一种基于服务模拟交互的视频内容获取方法,该方法通过模拟浏览器和Web服务器交互得到视频的下载地址,所述方法包含:
[0007]步骤101)模拟浏览器通过视频播放页面的html文件,取得视频的ID号;
[0008]步骤102)模拟浏览器根据视频的ID号组装请求视频播放列表的url,向Web服务器发送http请求得到该Web服务器反馈的播放列表文件;
[0009]步骤103)模拟浏览器从url播放列表中提取出视频的清晰度信息,拼成视频播放列表的url,再次向Web服务器发送http请求,得到视频播放列表的文件;
[0010]步骤104)模拟浏览器从视频播放列表文件中提取相关信息,拼接成视频的下载地址。
[0011]上述步骤101)之前还包含如下步骤:
[0012]模拟浏览器提取视频播放url中的主机IP地址和主机资源的具体地址,将上述两个地址填写到请求报文头里,向Web视频服务器发送http请求,得到一个视频播放页面的html文件。
[0013]上述视频播放列表的文件中的相关信息包含:视频文件各个分片的大小、视频分片的总数或视频的播放时长。
[0014]上述步骤104)进一步包含:
[0015]模拟浏览器直接从视频播放列表文件中提取视频下载地址;或
[0016]模拟浏览器将提取出来的下载地址向Web服务器发送请求,得到重定向后的最终下载地址。
[0017]所述浏览器和Web服务器使用http协议通信,浏览器发送http请求,得到一个或多个Web服务器返回的响应。
[0018]基于上述方法本发明还提供了一种基于服务模拟交互的视频内容获取系统,该系统通过模拟浏览器和Web服务器交互得到视频的下载地址,所述系统包含:
[0019]视频ID号获取模块,用于通过视频播放页面的html文件,取得视频的ID号;
[0020]第一播放列表获取模块,用于根据视频的ID号组装请求视频播放列表的url,向Web服务器发送http请求得到该Web服务器反馈的播放列表文件;
[0021]第二播放列表获取模块,用于从url播放列表中提取出视频相关信息,拼成视频播放列表的url,再次向Web服务器发送http请求,得到视频播放列表的文件;和
[0022]下载地址提取模块,用于从视频播放列表文件中提取相关信息,拼接成视频的下载地址。
[0023]上述系统还包含:
[0024]视频播放页面的html文件获取模块,用于提取视频播放url中的主机IP地址和主机资源的具体地址,将上述两个地址填写到请求报文头里,向Web视频服务器发送http请求,得到一个视频播放页面的html文件。
[0025]上述视频播放列表的文件中的相关信息包含:视频文件各个分片的大小、视频分片的总数或视频的播放时长。
[0026]上述下载地址提取模块进一步包含:
[0027]第一提取子模块,用于直接从视频播放列表文件中提取视频下载地址;
[0028]第二提取子模块,用于将提取出来的下载地址向Web服务器发送请求,得到重定向后的最终下载地址。
[0029]总之,本发明提供的一种基于服务模拟交互的视频内容获取方法是对于特定的视频的原始播放地址,解析出该视频所有规格的下载地址。
[0030]与现有技术相比,本发明的技术优势在于:
[0031]本发明提供的方法主要利用浏览模拟技术,通过视频播放页面的地址向视频网站服务器发送请求,得到一个包含视频相关信息的页面文件,从中提取出视频的相关信息,利用视频信息拼成请求视频播放页面的网址,向视频服务器发送请求,从而得到一个视频播放列表的文件,通过对文件内容进行分析得到的相关信息,整合得到视频的下载地址。使用本方法,可以很方便得获得视频的下载地址,用于快速高效的批量获取视频内容。
【专利附图】

【附图说明】
[0032]图1是本发明实施例提供的基于服务模拟交互的视频内容获取系统组成框架图;
[0033]图2是本发明实施例提供的基于服务模拟交互的视频内容获取方法的流程图。【具体实施方式】
[0034]下面结合附图对本发明的内容做进一步详细阐述。
[0035]本发明的技术内容:通过视频的播放url发送http请求,模拟浏览器和Web服务器交互的过程,通过分析该模拟过程,最终得到视频的下载地址。
[0036]下面介绍模拟交互获取视频下载地址的方法的实现步骤:
[0037](I)利用视频的原始播放url向Web视频服务器发送请求,得到的响应是一个html文件,其中html文件中包含有视频的id。
[0038](2)根据视频网站的不同情况,拼接成请求播放列表的url也不同,但大部分都与视频的id有关,利用视频的id拼接成请求播放列表的url。
[0039](3)通过请求播放列表的url向Web服务器发送请求,得到一个关于该视频播放列表的Json或XML等格式的文件。
[0040](4)提取出播放列表中有关视频的信息,拼接成视频下载地址的url。
[0041](5)要得到不同清晰度的视频下载地址,可以利用得到的播放列表文件的各个清晰度的id,然后重复步骤(4)即可。
[0042](6)把视频所有清晰度的下载地址保存下来。
[0043]进一步的,在向Web视频服务器发送请求时,提取出视频播放url中的主机IP地址(不包含端口号)和主机资源的具体地址,把这两部分填写到请求报文头里,发送http请求,得到一个视频播放页面的htm·l文件,从中提取视频的id。某些视频网站的部分视频的播放url中包含有视频的id,可以从url直接提取出视频的id。
[0044]进一步的,从视频的播放列表的文件中得到视频的相关信息,如视频文件各个分片的大小、视频分片的总数、视频的播放时长等。有些视频网站的最终下载地址就包含在视频的播放列表中,可以从中提取出下载地址,而另一些视频网站,需要用到播放列表中的相关信息,拼成一个请求下载地址的url。
[0045]进一步的把下载地址提取出来,有些视频网站的下载地址需要再以提取出来的下载地址像Web服务器发送请求,得到重定向后的最终下载地址。
[0046]实施例
[0047]本发明的视频内容获取系统的整体框架示意图如图1所示。
[0048]首先,从视频的播放urI出发,通过视频的解析模块解析出视频的下载地址。
[0049]然后,把视频的下载地址写入到存储模块中(此处采用数据库)。
[0050]最后,从数据库中取出下载地址,通过视频下载模块下载视频文件。
[0051 ] 本发明的视频解析模块是整个视频内容获取系统的核心部分,视频解析模块的流程图如图2所示,详细功能流程如下所述(以搜狐视频为例):
[0052]第一步,获得视频播放页面的url,由此url向Web服务器发送http请求,得到html文件,从文件中提取出字段“var vid=”后的值作为视频的id。
[0053]第二步,由视频的vid拼接请求播放列表的playlistUrl, playlistUrl=http://hot.vrs.sohu.com/vrs_flash.action?vid=videoVid&ver=l&bw=1175&g=8&referer=videoUrl&t=,其中videoVid为视频的id, videoUrl为视频播放页面的url。
[0054]第三步,由playlistUrl向Web服务器发送http请求,得到播放列表的Json文件。从Json文件中可以得到不同清晰度的视频的id,norVid为普清视频的id, highVid为高清视频的id, superVid为超清视频的id, oriVid为原画质视频的id,这些视频的id值若为空,则不存在此清晰度的视频。从字段“allot”中提取出的值作为host,从字段“clipsURL”中提取出的值作为fileName,字段“su”提取出的值作为newName,视频若有多个分片,则对应多个 fileName 和 newName。组成的下载地址 downloadUrl=http://host/?prot=2&file=filename&new=newName;
[0055]第四步,通过downloadUrl向Web服务器发送http请求,得到一个html文件的响应。从html文件中提取出最终下载地址的主机IP地址和资源的目录,记为hostlpDir,并且从中获得下载地址中的key值,记为downloadKey。视频最终下载地址f inalDownloadUrl=http: //hostIpDir/newName?key=downloadKey,其中的 newName 是第三步所得到的。
[0056]第五步,若视频有多片组成,则重复第三步、第四步的过程,直到解析出视频的所有分片。
[0057]第六步,若视频有多个清晰度,则从第三步得到不同清晰度视频的id值,然重复第二步、第三步、第四步、第五步的过程。
[0058]第七步,在成功得到视频的下载地址之后,把所有清晰度的视频的全部分片的最终下载地址保存下来。
[0059]总之本发明提供的一种自动解析和获取视频播放内容下载地址的方法,属于网络新媒体【技术领域】。该方法主要利用浏览模拟技术,通过视频播放页面的地址向视频网站服务器发送请求,得到一个包含视频相关信息的页面文件,从中提取出视频的相关信息,利用视频信息拼成请求视频播放页面的网址,向视频服务器发送请求,从而得到一个视频播放列表的文件,通过对文件内容进行分析得到的相关信息,整合得到视频的下载地址。使用本方法,可以很方便得获得视频的下载地址,用于批量获取视频内容。
[0060]需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。
【权利要求】
1.一种基于服务模拟交互的视频内容获取方法,该方法通过模拟浏览器和Web服务器交互得到视频的下载地址,所述方法包含: 步骤101)模拟浏览器通过视频播放页面的html文件,取得视频的ID号; 步骤102)模拟浏览器根据视频的ID号组装请求视频播放列表的url,向Web服务器发送http请求得到该Web服务器反馈的播放列表文件; 步骤103)模拟浏览器从url播放列表中提取出视频的清晰度信息,拼成视频播放列表的url,再次向Web服务器发送http请求,得到视频播放列表的文件; 步骤104)模拟浏览器从视频播放列表文件中提取相关信息,拼接成视频的下载地址。
2.根据权利要求1所述的基于服务模拟交互的视频内容获取方法,其特征在于,所述步骤101)之前还包含如下步骤: 模拟浏览器提取视频播放url中的主机IP地址和主机资源的具体地址,将上述两个地址填写到请求报文头里,向Web视频服务器发送http请求,得到一个视频播放页面的html文件。
3.根据权利要求1所述的基于服务模拟交互的视频内容获取方法,其特征在于,所述视频播放列表的文件中的相关信息包含:视频文件各个分片的大小、视频分片的总数或视频的播放时长。
4.根据权利要求1所述的基于服务模拟交互的视频内容获取方法,其特征在于,所述步骤104)进一步包含: 模拟浏览器直接 从视频播放列表文件中提取视频下载地址;或模拟浏览器将提取出来的下载地址向Web服务器发送请求,得到重定向后的最终下载地址。
5.根据权利要求1所述的基于服务模拟交互的视频内容获取方法,其特征在于,浏览器和Web服务器使用http协议通信,浏览器发送http请求,得到一个或多个Web服务器返回的响应。
6.一种基于服务模拟交互的视频内容获取系统,该系统通过模拟浏览器和Web服务器交互得到视频的下载地址,所述系统包含: 视频ID号获取模块,用于通过视频播放页面的html文件,取得视频的ID号; 第一播放列表获取模块,用于根据视频的ID号组装请求视频播放列表的url,向Web服务器发送http请求得到该Web服务器反馈的播放列表文件; 第二播放列表获取模块,用于从url播放列表中提取出视频相关信息,拼成视频播放列表的url,再次向Web服务器发送http请求,得到视频播放列表的文件;和 下载地址提取模块,用于从视频播放列表文件中提取相关信息,拼接成视频的下载地址。
7.根据权利要求6所述的基于服务模拟交互的视频内容获取系统,其特征在于,所述系统还包含: 视频播放页面的html文件获取模块,用于提取视频播放url中的主机IP地址和主机资源的具体地址,将上述两个地址填写到请求报文头里,向Web视频服务器发送http请求,得到一个视频播放页面的html文件。
8.根据权利要求6所述的基于服务模拟交互的视频内容获取系统,其特征在于,所述视频播放列表的文件中的相关信息包含:视频文件各个分片的大小、视频分片的总数或视频的播放时长。
9.根据权利要求6所述的基于服务模拟交互的视频内容获取系统,其特征在于,所述下载地址提取模块进一步包含: 第一提取子模块,用于直接从视频播放列表文件中提取视频下载地址; 第二提取子模块,用于将提取出来的下载地址向Web服务器发送请求,得到重定向后的最终下载地址。
10.根据权利要求6所述的基于服务模拟交互的视频内容获取系统,其特征在于,模拟浏览器和Web服务器使用http协议通信,即模拟浏览器向Web服务器发送http请求同时得到一个或多个Web服务器·返回的响应。
【文档编号】H04N21/4782GK103856827SQ201210505518
【公开日】2014年6月11日 申请日期:2012年11月30日 优先权日:2012年11月30日
【发明者】申继龙, 苗光胜, 牛温佳, 唐晖, 慈松, 谭红艳 申请人:中国科学院声学研究所, 华数传媒网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1