XBMC视频插件开发系列--网页数据解析

转载自: http://bbs.htpc1.com/thread-200871-1-1.html
本文对原文进行了修改补充和完善。

【一.概述】 

由于工作的原因开始研究XBMC,XBMC是一个优秀的自由和开源的(GPL)媒体中心软件。XBMC最初为Xbox而开发,现在可以运行在Linux、OSX、Windows、Android4.0系统。 2003年,一些兴趣相投的程序员创建了这个项目。XBMC是一个非盈利的项目,由遍布世界各地的自愿者开发维护。超过50名软件开发人员为XBMC作出贡献,还有超过100名翻译人员努力扩大它的应用范围,使它支持超过30种语言(当然也包括咱们的中文)。
XBMC所有插件用的都是python语言编写的,是一种源码开放式解析语言,叫开源吧,方便修改,也方便查看,朋友肯定问我,我不懂编程怎么办?我没有写过代码啊?真的,没有关系。python for xbmc很简单。只要你不是连a,b,c,d都不会,这篇文章你肯定看得懂。
这编文章不去教大家具体怎么写插件定义和流程定义等(这个本网站就有教程),而是深入浅出的分析插件的工作原理。并提供精确实用的核心python语法,用这些语法就可以轻易的编写任何网页的插件程序这个就像令狐冲的独孤九剑,没有具体的招式,只有叫法,比如说“破剑式”,可以破一切剑招,比如说“破刀式”,可以破一切精妙的刀法。
所有的插件其实就是把网页数据进行提取,找出连接,最后找到播放文件的真实地址,交给XBMC的播放器播放。
我们大家知道,网页是用HTML写的,里面的数据包括,比如电影名称,电影图片,播放文件的真实地址列表,里面诸如导演名,演员表,电影简介等等,都是我们需要的信息,我们需要从HTML提取这些信息,去掉网站本身的播放器还有眼花缭乱的讨厌的广告,按自己的喜欢做成新的界面进行播放。由于HTML也是开源的,呵呵,我太喜欢开源了,最好所有的程序都开源,所有的秘密都可以在HTML的网页里找的到。比如我经常看见朋友问,那个视频很好,由于网页里没有下载链接,在哪里下载啊,只能够用网页播放器看,不能够保存下来看啊,然后就是网页广告太多了,非常讨厌啊,怎么去掉广告啊,你学会了插件的编写,你可以任意的下载所有网页的视频文件,是不是很给力啊,呵呵,其实真的,秘密都在HTML里面。而python最强大的功能就是处理HTML。

【二.HTML数据库结构分析】

xbmc视频插件需要的数据就是最后的网址,就是需要播放的的a.真实下载文件的地址,b.菜单的选择就是视频的名称,c.还有就是精美的影片海报,这是最起码的三个基本需要的数据,这个如果有多项的话,应该是一个列表。
1.这里给您一个地址,您打开看看
http://qiyi.soooner.com/videos2/movie/20130326/83ab91dc7bed45d9875f22d5d9eda6bf.f4v
是否神奇发生了呢? 您可以自己试试,哈哈
2.稍微有些数据库经验的朋友知道,数据库结构里有数据库名称,字段,字段类型,
最后是数据项,如果你有一个数据项列表如下
电影名称      电影图片地址         电影真实播放地址
【大上海】      http://....12.JPG   http://.....34.F4V
。。。         。。。                  。。。
。。。         。。。                  。。。
如果所有的网页,你都轻易的找到以上的数据结构的话,或者直接给您一个SQL SERVER的数据库那就不要用python了,直接用SQL查询语句好了,当然不会那么轻易,所有各大视频网站不是为你开的,也不会提供这么漂亮精确的查询字段给您。当然我们有解决的办法呵呵,其实python就是HTML的数据查询语言
3.任何的网页,都有一个查看源代码的功能,您随便打开一个网页,然后到菜单里选择查看源代码,就会出现很多很多信息,看得眼花缭乱的,有点眼晕吧。我们需要具体的分析,提取出有用的信息这就是XBMC视频插件的大部分代码所要做的工作。
4.朋友肯定会问,HTML,网页里会有这些东西吗?难道直接查找F4V找得到吗?当然不会找到,因为网站为了索引,比如说,电影,电视剧,片花。。,战争,青春,爱情。。都会有不同的页面,不同的链接网页页面,我们需要分析,查找,过滤所有的这些HTML里面的信息。
5.看起来好像很复杂哦,如果您觉得自己没有这个耐心去分析网页,那您就不必再看下去了,因为插件就是分析网页,找出链接,得出最后有用的数据组类
嗯,的确,当然需要实例,如果只谈理论,没有实例,朋友会骂我光说不练假把式的。我现在选择编写一个插件,【爱奇艺插件】。
为什么选择它呢?因为我试过了中文插件包里的【奇艺】插件,请注意我加亮部分奇艺变成了爱奇艺,因为奇艺改版了,在百度老师处搜索一下就知道了,奇艺变成了爱奇艺所以原来插件不起作用了,不单单是WWW.QIYI.COM变成了WWW.IQIYI.COM那么简单而是原来的数据结构也发生了变化,原插件就无法读取了,当然那位老师希望他能够更快的更新。原本想改改那个插件就用算了,但是第一尊重原创,第二分析另外一个程序老师的程序远比自己写一个麻烦的多。
本人比较偏爱奇艺的,因为它的影片大多都是高清的,超清的。我就是以这个【爱奇艺】插件为实际例子,编写一步,写一步心得,当这篇文章完成的时候朋友就会获得整个可以使用的【爱奇艺】中文视频插件了,还明白整个的编程思路以及原理,这样不知道朋友们满意吗?
所以现在我们要做的事情是分析破解【爱奇艺】网页,包括里面的HTML所有秘密真像都浮现出来,没有了广告,吓,晕,不知道【爱奇艺】百度的大哥们会不会找我麻烦,因为我要破解他们的运营网站,可能要找麻烦也找版主的麻烦了,但是我觉得不应该了,因为这些资料都在HTML网页里,既然可以用WEB浏览器来读取,都是公开的,为什么我不可以用我自己的程序读取呢?为什么我非要用官方的播放器来播放呢?我难道用自己的播放器播放不可以吗?(特别声明,别人的会员节目我们就不要去偷了,都是要赚钱,要生存的,大家理解吧,只取免费的那一部分)
-----------------------------------------------------------------------
【2.1】
既然准备了要分析奇艺网站,我们先进入http://www.iqiyi.com/, 哇塞,好多内容,大概的粗略的浏览一下,这里面图片太多,加上广告机,简介真实的电影与视频部分就隐藏在其中,但是这样的页面,我们处理起来比较麻烦了随便点击一下电影,电视剧进入下一个页面。
看看你的浏览器的地址栏,会相应的变成了
http://www.iqiyi.com/dianying/ 电影网页
http://www.iqiyi.com/dianshiju/ 电视剧网页
…………
朋友可以逐个的点开这些网页,可以观察一下地址栏的变化这里顺便提示一句,我们写程序的时候需要HTML的文件名称的,但是文件名呢大家仔细看看,后面没有了文件名称,不要紧,呵呵,因为学过WEB服务器的朋友应该知道的,系统有默认的文件名称,就是INDEX.HTML我们大家都试试,在浏览器的地址栏中把上面的网页后面加上INDEX.HTML([url=http://www.iqiyi.com/dianying/]http://www.iqiyi.com/dianying/index.html[/url])
([url=http://www.iqiyi.com/dianshiju/]http://www.iqiyi.com/dianshiju/index.html[/url])
……
都动手试试,可以多试几个,都加上index.html发现了什么了?原来加上index.html网页是一样的没有变化,那也就是说index.html是系统默认的网页名称。
看了这几个网页后,感觉怎么样?同样是名称太多,甚至同一个页面里,同一部电影有重复的情况,简介太多,板块也太多,左一个右一个的,这样的网页是不方便我们做程序读取的。
啊,感觉好郁闷哦,怎么办呢?
各位观众别着急,在电影页面里
http://www.iqiyi.com/dianying
哈哈,看看大的宣传广告下面左边,有检索条件的,在按年代里面我们点一下最近更新 
检查您的浏览器的地址栏,你会发现你的地址栏变成了
http://list.iqiyi.com/www/1/------------2-1-1-1---.html
这个页面怎么样,简洁的多了,每页20部电影,不重复,没有多余的广告宣传再看看下面还有分页按钮,点第二页,第三页看看,发觉全部是一样的。这样的页面就是我们需要的数据页面了,但是网页后面的数字每点一下检索条件跟分页都在变化,是和电影类型、paytype、area、time、page等相关的,很不好理解,我其实最讨厌这样的符号了------------2-1-1-1---这些东西,看到就讨厌,但是为了分析网页,只有不看地址栏,都是什么东东哦!
点开多个页面后,我们仔细观察,发觉了无论你怎么点,有一个地址是永远不变的,就是【http://list.iqiyi.com/】这个是什么?什么都别管了,反正是分析,点开试试,把后面讨厌的后缀都去掉,啊,出来了,这个就是主页,所有检索页面的主页面,哈哈,梦里寻它千百回暮然回首,她在丛中笑。这就是我们要找的主数据结构页面,朋友们跟我一起笑,好!哈哈哈
记住了,这是经典,也是生命的根,视频插件的根,就是检索的主网页,大多数的视频网站都带有这样的根的,一般都在检索的位置地方,就会出来了,要求不要有多余的链接,不要有重复的电影名称,可以分页,可以检索文件。【第一步就是要找出这个根页面来】。
我们找出了根的地址 http://list.iqiyi.com/,细心的朋友发现除了那个根地址外还有WWW是不变的,不清楚?为什么奇艺要加这个,但是不管了,既然有我们就加上,暂时我们叫它BASE吧,就是基础的意思,程序里面用的到变量的名字我们都想好了就是BASE,程序里面给的赋值条件:BASE='http://list.iqiyi.com/www/'。
注意哦,加上WWW后这个网址是打不开的,必须加上------------2-1-1-1---.html
这些网页才有效。最后我们的程序里面就是要加那些条件才可以打开的。
我们按照分类条件,电影,免费,最新热播,全部
确定一个网页进行实际的HTML分析
http://list.iqiyi.com/www/1/----------0--3-1-1-1---.html
我们先分析里面的数据,浏览器中打开上面的网址,然后在浏览器的菜单里查看源代码。好多内容,用鼠标翻,用眼睛看,都觉得太累了,听说有网页分析软件,但是我没有用过,只是用默认的查看源代码的记事本,因为里面有查找语句,就够用了。
我们要查什么呢?首先当然是电影的名字,第一部电影的名字,现在是【大上海】,将来会变的,我们只是要找第一部排序中的电影名字,用编辑器的查找功能,输入【大上海】,你看到了吗?出现了这个
<!--列表部分_START-->
呵呵,奇艺的大哥们还行,写的很清楚嘛,既然有START就有END,我们往下滚动鼠标看,滚动好累人,累手,累眼,可以在查找功能里输入‘列表部分’因为肯定END也会有这样的字眼,否则分不清楚了!
果然下面有
<!--列表部分_END-->
这个部分就是所有的本页的20部电影里面的所有的资料,我们要分析的就是这里面的东东,一下把范围缩小了,其它的东西都是没有用的了,或者是我们不需要的了,我其实也很讨厌看HTML,主要是格式东啊西啊,
又长,又乱,不好看。现在好了,如果朋友们有心就把
<!--列表部分_START-->
。。。。。
<!--列表部分_END-->
之间的全部内容全部复制下来,另外保存在一个文本文件里,下面的会用到里面的东西,不用每次都打开网页了,直接打开这个文件就好了,文件最好放在桌面上,这样就方便使用跟看本经验交流了。
【2.2实战篇】
根据网页,我们知道这个页面的数据列表里有20项数据,就是20部影片的资料,这里面包括,视频名称,视频播放网站,视频略缩图,演员,导演,分类名称等等资料。问题是,我们需要什么资料呢?根据视频插件我们知道:
1.首先的肯定是电影的名称
2.然后是漂亮的略缩图
3.最后是播放网址
当然为了功能完善,其它的资料也需要,但是我们现在只取有用部分,意思就是说:由浅到深,上面三个数据是不可缺少的。
按照上节讲的,打开你桌面的那个文件。
我们发现整列表部分是从 <div class="list0">开始</div> 结束的,而每一部电影的项又是从 <li class="j-listanim">开始到 </li>结束的
<a class="imgBg1" href="http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html"> <img width="160" height="90" title="大上海 " alt="大上海" src="http://pic9.qiyipic.com/thumb/20130205/a315501_160_90.jpg" /> <span class="cqBg"></span>
点开上面两个链接,看看你都看到了什么?嗯,是否感觉有点意思了!所有的HTML项都是由< 开始 到 />为结束的。这里刚好是一项,这个项里面刚好有我们想要的三个内容
1.播放网址:   href="http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html"
2.电影名称:   alt="大上海"
3.影片略缩图:src="http://pic9.qiyipic.com/thumb/20130205/a315501_160_90.jpg" 
为了避免重复,我们用编辑查找命令输入class="imgBg1" href=",然后查找,一共找到了40个,按下一个,又找出了一个项目
<a class="imgBg1" href="http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html"> <img width="160" height="90" title="大上海 " alt="大上海" src="http://pic9.qiyipic.com/thumb/20130205/a315501_160_90.jpg" /> <span class="cqBg"></span>
再继续按下一个,下一部电影是上位,似乎又是两个,再继续查找下一个,我们发觉全部电影项中<li class="j-listanim">开始到 </li>结束的项中,都是两个相同的。
讨厌又来了,为什么是两个相同的?我们强调数据的唯一性,跑出两个来,那做程序的时候不是会出现两个相同的图标,两个相同的文件播放选择?
呵呵,这些真的不着急了,python,处理这些就是它的强项了。
能够把网页分析到这一步,很多东西都很明显了,呵呵,同样的视频网站有很多,朋友可以自己去试试找这些东西……
【2.3】
现在我们需要分析的就是这个视频播放地址。
电影名称:【大上海】
http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html
打开就是奇艺的网页播放器,首先是奇艺的广告,然后是客人的广告,哈哈,有点烦呢!我们为什么要分析这个地址呢,因为我们要找到最后的真是地址,就是可以下载播放的真实的页面地址,其实就是为了找视频文件的根*.F4V。

好,还是老方法,点击进去,先暂停视频,或者马上打开菜单里的源码查看,然后关闭网页,否则精彩的剧情会影响你分析网页。这里首先第一页开始引起我们注意的就是下面几句

<div class="videoPlay medium">
  <div  id="flashbox"  class="vdoPlayer padplay0108"
   style="position:relative;width:980px;height:520px;" 
   data-widget-player="flash"
  data-player-albumid="315501"
    data-player-tvid="383102"
  data-player-videoid="0518ced5b40648c7bcae7e79694d0396" //视频id
  data-player-autoplay="true"
  data-player-ismember="false"
  data-player-cycleplay="false"
  data-player-startTime="0"
  data-player-endTime="0"
    data-player-expandstate="true"
    data-player-width="980"
  data-player-height="520"
  data-player-flashurl=""
  data-player-flashvars="coreUrl=&tipdataurl=&components=&cid=&preloader=&gpu=&showBrand=&adurl=&flashP2PCoreUrl="
    data-widget-playerexpand="flash"
  data-playerexpand-expandwidth="980"
  data-playerexpand-oriwidth="680"  >
接着搜索data-player-videoid,我们就会发现另外一处:
<div data-widget-baidudown="baidudown"
 data-widget-baidudown-categoryid="1"
 data-widget-baidudown-title="大上海"    //页面标题
 data-widget-baidudown-albumid="315501"
 data-widget-baidudown-tvid="383102"
 data-widget-baidudown-ptype="0"    //父对象类型
 data-widget-baidudown-pid="0"     //父对象id
 data-widget-baidudown-videoid="0518ced5b40648c7bcae7e79694d0396"  //视频id
 style="display: none;">
</div>

由于写程序的习惯,对ID这样的字眼,我是特别留意的,而且奇异大哥们也在网页注释里写的很清楚:
//页面url
//页面标题
//父对象id
//父对象类型
//视频id
页面,标题这些字眼,我们应该很清楚,但是父对象什么的,不是写面向对象的编程的朋友可能看不懂,不管了,看不懂的朋友就不看,因为我也是这样的,难懂的先不管它了,它父对象的,难道我还要找出它的爷爷才分析完?但是这个视频ID,虽然是一堆随机生成的乱码一样的东西,肯定有用,既然是视频ID,就肯定跟视频有关系,而且它的内容赋值给了videoId 。
【2.4】
前面我们找出三个有用的参数
 data-widget-baidudown-ptype="0"    //父对象类型
 data-widget-baidudown-pid="0"     //父对象id
 data-widget-baidudown-videoid="0518ced5b40648c7bcae7e79694d0396"  //视频id
这里要用到这个三个参数,有一个奇异的地址,不是网页里找的,好像所有的播放器都有这个地址,我也是百度里搜索来的,至于这个网址到底是哪里来的,我不是太清楚了,完蛋了,这样说好像有些掉链子了,希望知道的老师帮忙贴上了。链子续上吧,我们主要清楚用法就可以了,朋友不用担心,现在各大视频网站的这个地址都可以找的到,拿来主义?反正分析HTML也是拿来主义,所以我们只管用就行了。
1、首先分析奇艺的这个地址的格式,如下:
http://cache.video.qiyi.com/v/视频id/父对象id/父对象类型/
http://cache.video.qiyi.com/v/videoId/pid/ptype/
请注意最后的'/',如果不加网页无法读取
把我们找出来的参数代入相应的位置
http://cache.video.qiyi.com/v/0518ced5b40648c7bcae7e79694d0396/0/0/
打开试试,如果打不开换个火狐浏览器试试。
各位观众,破HTML式出招了,找到了这些代码

<fileUrl>
<file>http://data.video.qiyi.com/videos/movie/20130326/83ab91dc7bed45d9875f22d5d9eda6bf.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/08db9216499c565ea6ef32f4ec82ff12.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/8d68c3ced0cd6052d1791b5d058749f3.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/1b39ff3975020348b351b8e393617c5e.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/a81b509e4c8579562ae0d9fe2ab0fe1f.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/bce3e43a9305c2a880afd7efccd54369.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/3fbe4ef324c4ddc753d8058b7ff57cdb.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/ddbad9d20604256a538ba25100818855.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/6f9ff85dbcd442a19a0ed976f7ec7815.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/79be3ab9ff8302eabf42ed5766b3b53c.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/cd5cbeb1f0369d60da4f998785d90cd6.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/79286e76cc19fa14dacc365fa72ac085.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/c4fd07b00e637a57ff371dd3c42a84b9.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/9213cc7533aaad608eacb0efc00af855.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/2b140c854d740f4e7872aeec63bc56c3.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/6da625c09c99db0afb54e7057a288990.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/78bc23a16352877a1c7c0ae6cb858b64.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/a72b12af8c23b7db4364e671313eb346.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/83f783b9c07feab2b91aa816f446b879.f4v</file>
<file>http://data.video.qiyi.com/videos/movie/20130326/2b7a6d7ddb006f2c8598675154319837.f4v</file>
</fileUrl>

一共有20项之多呢,其他的不一一贴了,你们自己打开看看,哈哈,我们需要的不就是这些 *.F4V,
马上把其中的链接复制到浏览器的地址里。。。。。。。。。。。
。。。。。。
。。。。。。
全部打不开,我晕了。。。。。。
还有这些内容:

<data version="1">b021de83e14a4a9c9a71c58eb7dcbca8</data>
<data version="2">0518ced5b40648c7bcae7e79694d0396</data>
<data version="3">11dcc98552c04b9588c83dddfab0fb23</data>
<data version="96">6b54560a0be844829b7baed1b13c3a74</data>

这些是与分辨率有关的,这些不同的id代表着不同分辨率的视频id
【2.5】
我们利用播放网页找出了三个重要参数
电影名称:【大上海】
http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html
再加上神秘网址找到了最后要找的*.F4V文件
http://cache.video.qiyi.com/v/0518ced5b40648c7bcae7e79694d0396/0/0/
http://data.video.qiyi.com/videos/movie/20130326/83ab91dc7bed45d9875f22d5d9eda6bf.f4v
http://data.video.qiyi.com/videos/movie/20130326/08db9216499c565ea6ef32f4ec82ff12.f4v
。。。。。
但是这些*.F4V文件却全部打不开,由于无法下载,就根本无法播放了,没有用的东西,奇艺放在这里干什么用?嗯,我们大概忘记了开篇的时候说的,奇艺经常改版,经常改变地址,我想原来这些地址都是有用的。但是改版后就没有用了,要说没有用,也不是完全没有用,否则我们就不会花那么大的力气去找它们了。
嗯,看看很有用的部分,就是后半截了
movie/20130326/83ab91dc7bed45d9875f22d5d9eda6bf.f4v
前面的http://data.video.qiyi.com/videos/看来是失效了 
关系不大的,再给各位看官两个地址
1.http://qiyi.soooner.com/videos2/
2.http://qiyi.soooner.com/videos/
我们把那些.F4V的后半截有用的合成一下
1.http://qiyi.soooner.com/videos2/movie/20130326/83ab91dc7bed45d9875f22d5d9eda6bf.f4v
2.http://qiyi.soooner.com/videos2/movie/20130326/08db9216499c565ea6ef32f4ec82ff12.f4v
所有找到的*.F4V都这样处理一下,发现上面的20个地址的视频就组成了一部完整的电影,哈哈。
所有的网页的视频你现在都可以下载了,但是各位朋友要问了,为什么有那么多。呵呵,奇艺干的事情,也是他的秘密,把一个大的视频文件分成了小块,每个小块5分钟6分钟,这样下载起来快,所以视频看起来很流畅,但是XBMC的播放器是一个个的读取的,所以每5分钟有0.几秒的缓冲一下,我见过有朋友问了,插件怎么解决?无法解决啊,要靠播放器哦,希望XBMC能够有新的版本,根据视频列表能够同时播放前一个视频的时候,后台读取下一个。
2、然后再来分析这个格式:
http://cache.video.qiyi.com/v/tvid/视频id/
http://cache.video.qiyi.com/v/tvid/videoId/
http://cache.video.qiyi.com/v/383102/0518ced5b40648c7bcae7e79694d0396
3、然后再来分析这个格式:
http://cache.video.qiyi.com/m/tvid/视频id/
http://cache.video.qiyi.com/m/tvid/videoId/
请注意最后的'/',如果不加网页无法读取
把我们找出来的参数代入相应的位置
http://cache.video.qiyi.com/m/383102/0518ced5b40648c7bcae7e79694d0396/
打开试试,如果打不开换个火狐浏览器试试。
各位观众,破HTML式出招了,找到了这些代码
var ipadUrl={"timestamp":"20130419004221","data":{"startTime":-1,"nextVideoUrl":"","logo":1,"subtitleList":[],"videoUrl":"http://www.iqiyi.com/dianying/20130206/bf027609343466d0.html","categoryId":1,"ipLimit":1,"mtl":[{"m3u":"http://meta.video.qiyi.com/158/3eb2ba0bd268fb077f0d3f2aecb6d842.m3u8","vd":2,"fle":"537625317","vid":"0518ced5b40648c7bcae7e79694d0396","plt":7127},{"m3u":"http://meta.video.qiyi.com/159/4542eb7318fe1ad2fdd30d90418e6f87.m3u8","vd":1,"fle":"265136293","vid":"b021de83e14a4a9c9a71c58eb7dcbca8","plt":7127},{"m3u":"http://meta.video.qiyi.com/160/8d971a67c48afc5ea3b74d65931dae62.m3u8","vd":96,"fle":"151874264","vid":"6b54560a0be844829b7baed1b13c3a74","plt":7128},{"m3u":"http://meta.video.qiyi.com/301/359e629deff1683c34fecedbad84af92.m3u8","vd":3,"fle":"952581213","vid":"11dcc98552c04b9588c83dddfab0fb23","plt":7127}],"mp4Url":"http://data.video.qiyi.com/videos/movie/20130326/a3335478cfd5a41054bcd4d69952164f.mp4","endTime":-1,"url":"http://meta.video.qiyi.com/158/3eb2ba0bd268fb077f0d3f2aecb6d842.m3u8","nextVid":""},"code":"A00000"}
在把http://data.video.qiyi.com/videos/movie/20130326/a3335478cfd5a41054bcd4d69952164f.mp4在浏览器中打开会得到:
var videoUrl={code:"A00000",data:{"l":"http://122.227.251.146/videos/movie/20130326/a3335478cfd5a41054bcd4d69952164f.mp4?key=ab5674dfbe4b8765&uuid=bd500c21a63448c78d1eb7509e54424c","t":"OVERSEA|TW-218.211.227.156","v":"2013-02-21 v2.1.3","z":"ningbo_ct"}};
直接下载或播放http://122.227.251.146/videos/movie/20130326/a3335478cfd5a41054bcd4d69952164f.mp4?key=ab5674dfbe4b8765&uuid=bd500c21a63448c78d1eb7509e54424c可以得到一个完整的大上海电影,但是分辨率好像没有刚才的高;
好了,到目前为止,我们分析网页也就结束了,当然下面还有电视剧分集的分析,还有分类,分页的HTML分析,但是我们已经可以开始写CODE了,弄了那么多枯燥的理论,来的实际的啊,弄个小代码上XBMC跑跑啊,嗯,下一节开始,我们就来写程序代码了。

你可能感兴趣的:(xbmc)