西安做网站_西安网站建设公司_西安网页制作_西安网页设计_西安网站制作设计公司

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10005|回复: 0

乐视网视频真实地址解析_实例

[复制链接]
发表于 2014-4-3 01:30:31 | 显示全部楼层 |阅读模式
关于乐视网视频真实地址解析,以节目的第一集为例,于下。
  http://www.letv.com/ptv/pplay/74497/1.html

//=======================================================================

  解析的几个步骤:

  1、读取播放页面的代码,获取 vid=1612388 值
    http://www.letv.com/ptv/pplay/74497/1.html

  2、拼合出第一次信息文件地址
    http://www.letv.com/v_xml/1612388.xml

  3、从以上文件中读取链接(节点 mmsJson 中的 url 值)
    http://220.181.117.5/ng?s=3& ... 77.0.flv&br=301

  4、从上面的地址读取信息文件,从中读取 location 的值,舍去所有外挂参数,于下
    http://124.232.149.10/17/12/15/13383307831805077.0.letv    

  5、将扩展名改为 flv ,即为真实链接地址
    http://124.232.149.10/17/12/15/13383307831805077.0.flv

//=======================================================================

  F8解析脚本于下,以资拍砖。
  解析过程由节目页面地址开始,至所有单集数据存入下面的数组,完成。
  vlist = [];  链 接
  ttime = [];   时 间
  nlist = [];  节目名
  tlist = [];   长宽比
  制作播放器时,可按各自需要和习惯修改。

//=======================================================================
stop ();
//通知 Flash Player使用 传统代码页来解释外部文本
//System.useCodepage = true;
Stage.scaleMode = "noScale";
if (scale) {
        Stage.scaleMode = "showAll";
}
Stage.showMenu = false;
this._lockroot = true;
//======================== 以上 播放器 普通设置================

var nlist = [];//曲名
var vlist = [];//链接
var ttime = [];//时长
var tlist = [];//长宽比
var Str_xml = [];//临时数组
var j = 0;
//=========================================================

var urlxml = ["http://www.letv.com/v_xml/", ".xml"];
//================= 以上 信息文件链接相关 备用==================

//构造函数;创建 LoadVars 对象。然后可使用该 LoadVars 对象的方法来发送和加载数据
//当lala被实例化并显示在时间轴上时将触发
//=========================================================

function make6 () {
        j += 1;
        make ();
}
//======================== 以上,循环,处理下一个页面地址 =======

function make5 (pram5) {
        var json:JSON = new JSON ();
        var jsonobj:Object = json.parse (pram5);
        vlist[j] = [[]];
        vlist[j][0][0] = vlist[j][0][0] = jsonobj.location.split ('.letv?')[0] + '.flv';
        make6 ();
}
//====以上处理第二次的 信息 文件,最终获得单集的 flv 视频文件的链接,存入数组备用 ==
//============★ 此例按单集多文件考虑,改制时可按实际要求 ★======= 完成解析 ======

function make4 (pram4) {
        lala = new LoadVars ();
        lala.onData = function (rw) {
                make5 (rw.toString ());
        };
        lala.load (pram4);
}
//==============第二次 加载 信息 文件========================

function make3 (pram3) {
        pram3_1 = pram3.split ('"').join ('"');
        var json:JSON = new JSON ();
        var jsonobj:Object = json.parse (pram3_1);
        ttime[j] = [[]];
        ttime[j][0][0] = jsonobj.bean.video[0].duration;
        xml_2 = jsonobj.bean.video[0].url.split ('&').join ('&');
        make4 (xml_2);

        //vlist[j] = jsonobj.bean.video[0].url.split('/ng?s=3&df=').join('/').split('&')[0];
        //make6 ();
        //== 如果用注释中的步骤得到的链接无时效限制,则可简化至此步骤完成。待研 =====
}
//==============以上处理单集 xml 第二次获取 url 值 和时间值 =================

function make2_2 (pram2_2) {
        var wh = pram2_2.split(',h:')
        var WH = wh[0]/wh[1];
        tlist[j] = WH > 2.2 ? 7 : WH > 2 ? 6 : WH > 1.7 ? 1 : 2;
}
//============== 以上处理视窗的长宽比 ========================

function make2 (pram2) {
        var xml_1 = new XML ();
        xml_1.ignoreWhite = true;
        xml_1.load (urlxml[0] + pram2 + urlxml[1]);
        xml_1.onLoad = function (success) {
                if (success) {
                        for (i = 0; i < xml_1.firstChild.childNodes.length; ++i) {
                                if (xml_1.firstChild.childNodes.nodeName == "tal") {
                                        nlist[j] = xml_1.firstChild.childNodes.firstChild;
                                }
                                if (xml_1.firstChild.childNodes.nodeName == "mmsJson") {
                                        Str_xml[j] = String (xml_1.firstChild.childNodes.firstChild);
                                }
                        }
                        make3 (Str_xml[j]);
                        //trace(Str_xml[j]);
                }
        };
}
//========= 以上第一次加载单集信息文件,为 xml 格式。获取曲名 =============

function make () {
        if (j < Page.length) {
                load_js = (j + 1) + " / " + Page.length;
                jmurl = Page[j];
                lala = new LoadVars ();
                lala.onData = function (rw) {
                        N1 = rw.split ('vid:')[1].split (',')[0];
                        N2 = rw.split ('{w:')[1].split (',wmode')[0];
                        if (N1) {
                                make2 (N1);
                                quming = pgurl[3];
                        }
                        else {
                                quming = "链接有误,请检查。";
                        }
                        if (N2) {
                                make2_2(N2);
                        }
                };
                lala.load (Page[j]);
        }
        else {
                play ();
        }
}
make ();
//============== 以上加载页面,获取 vid 值 长宽数据 ===================

  以上内容写在第二帧
  以下内容写在第一帧
//==============================================
var Page = [];
Page[0] = "http://www.letv.com/ptv/pplay/74497/1.html";
Page[1] = "http://www.letv.com/ptv/pplay/74497/1.html";
………………
Page[n] = "http://www.letv.com/ptv/pplay/74497/1.html";
//==============================================

  ★★以下内容可在输出面板显示以上解析后得到的数组。以作参考。
//==============================================
//======= 将输出的数组写在播放器内或xml信息文件中,可不必内嵌解析的内容 ==========
stop ();
for (i = 0; i < vlist.length; ++i) {
        var Str:String = "";
        for (j = 0; j < vlist[j][0].length; ++j) {
                Str += '"' + vlist[0][0] + '",';
        }
        trace ('vlist[' + i + '] = [[' + Str.slice (0, Str.length - 1) + ']];');
}
trace('//================================');
for (i = 0; i < ttime.length; ++i) {
        trace ('ttime[' + i + '] = [[' + ttime[0] + ']];');
}
trace('//================================');
for (i = 0; i < nlist.length; ++i) {
        trace ('nlist[' + i + '] = "' + nlist + '";');
}
也是之前保留的一份材料,觉得好的加点ck币,谢谢
西安网站建设 | 西安做网站 —— 剑锋所指 所向披靡!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西安网站建设

GMT+8, 2024-4-26 19:51 , Processed in 0.045193 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表