欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

优酷全站视频代理程序

程序员文章站 2024-02-20 13:59:34
...
申明:全部搜集于优酷网,版权属于优酷网!由于官网不断地改变规则,故有些视频在采集后播放不了。把代码贴出来,让大家学习研究,请不要用作它途传播!若因此而造成的任何责任,本人概不负责!
演示:http://chaoqing.duapp.com/chaoqing.swf?lists=daili/youku.com

// 防盗链
$Anti_theft = False; // 是否开启防盗链 True 为开启,False 为关闭。

// 需要输出那些分类的,仅在直接调用php的情况下有效。
//不需要输出,直接注释掉或删除那一行。
$p_olist = array(
84=>"纪录片",
85=>"综艺",
96=>"电影",
97=>"电视剧",
100=>"动漫"
);
$p_showlist = array(
86=>"娱乐",
87=>"教育",
88=>"旅游",
89=>"时尚",
90=>"母婴",
91=>"资讯",
92=>"原创",
94=>"搞笑",
98=>"体育",
99=>"游戏",
102=>"广告",
103=>"生活",
104=>"汽车",
105=>"科技"
);


//好了,下面的东西就不要乱动了,动了后果自负。

error_reporting(0);
header("Content-type: text/xml; charset=utf-8");

//获得当前页面的URL
$fname = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'];

if($Anti_theft == True){
$refer = $_SERVER["HTTP_REFERER"];
preg_match('/(.*):\/\/(.*)\//imsU',$refer,$refer);
if ($_SERVER['SERVER_NAME'] != $refer[2]){
$xml.= '';
echo $xml;
exit;
}

}


if (isset($_GET['show'])){
// 展示SHOW所有视屏 //
$xml = get_show_page($_GET['show']);
} elseif (isset($_GET['movie_show'])) {
// 如果传来的是 电影页面。
$xml = get_movie_show($_GET['movie_show']);
} elseif (isset($_GET['olist']) and isset($_GET['showlist'])){
// 同时传来 olist 与 showlist 时,拒绝输出。//
echo "你是想叫我闹哪个?";
} elseif ( isset($_GET['olist']) ){
// 处理 olist 列表 //
if (isset($_GET['page'])) {
// 传来页数,输出该页内容 //
$xml = get_olist_page($_GET['olist'],$_GET['page']);
} else {
// 没有传来页数,则输出页数。//
$xml = get_list_page("olist",$_GET['olist']);
}
} elseif ( isset($_GET['showlist']) ){
// 处理 showlist 列表
if (isset($_GET['page'])) {
// 传来页数,输出该页内容
$xml = get_showlist_page($_GET['showlist'],page);
} else {
// 没有传来页数,则输出页数。 //
$xml = get_list_page("showlist",$_GET['showlist']);
}
} else {
// 没有传来任何值,输出分类列表。
$xml = get_vlist();
}

// 两头附加上
$xml ="\n" . $xml . '';

// 如果不为 调试模式 ,则正常输出。
if(!isset($_GET['debug'])){
echo $xml;
}


// 以下 获取并产生相关的列表

//输出所有支持的分类列表
function get_vlist() {
global $fname;
global $p_olist;
global $p_showlist;
$list = '';
foreach($p_olist as $key=>$id)
{
$list.=''."\n";
}
$list.=''."\n";
foreach($p_showlist as $key=>$id)
{
$list.=''."\n";
}
return $list;
}
//获取分页数量。
function get_list_page($v_name,$v_id) {
global $fname;
$list = '';
if($v_name == "olist"){
$url="http://www.youku.com/v_olist/c_" . $v_id . ".html";
} elseif($v_name == "showlist") {
$url="http://www.youku.com/v_showlist/c" . $v_id . ".html";
}
$url=g_contents($url);
preg_match('/
  • ...(.*)
  • (.*)/imsU',$url,$page);
    $page=$page[4];
    if ($page == ""){
    preg_match('/
  • |',$url,$v_name);
    $v_id = $v_name[1];
    $v_name = $v_name[3];
    foreach($v_id as $key=>$id)
    {
    //echo $v_name[$key].'=>'.$value . "\n";
    $list.=''."\n";
    }
    }
    return $list;
    }

    // 输出 showlist 的视频列表
    function get_showlist_page($show_id,$page){
    $url='http://www.youku.com/v_showlist/c' . $show_id . 'p' . $page . '.html';
    $url=g_contents($url);
    $list='';
    preg_match('/(.*)/imsU',$url,$arr);
    preg_match_all('|

    AD:真正免费,域名+虚机+企业邮箱=0元

    上一篇: php里array_work用法实例分析

    下一篇: