获取各大视频网站视频地址接口代码

由于业务需要,易云需要一个获取视频直链的接口文件,发现网上有人已经写好了,但是发现都已经失效了,所以易云借鉴代码修复了下,目前已经完美支持搜狐TV、优酷、腾讯视频、PPTV以及 芒果TV的解析,爱奇艺因为我没用上所以没写~原理也很简单,但是部分接口文件返回的是swf文件,这个不支持手机播放,这确实是个问题。代码很简单,直接复制保存为swf.php,然后即可访问http://你的域名/swf.php?url=视频地址,代码推荐使用php5.4。考虑到版权问题(现在很严),接口获取的地址是有视频网站的广告,并非屏蔽广告的版本。

<?php
if (!empty($_GET['url'])) {
$web_video = new free_flash_video();
$web_video->index();
}
/**
* 获取视频地址
*
*/
class free_flash_video {
public function index() {
// 获取正常视频地址
$url = $_GET['url'];
if ($url) {
$parse = parse_url($url);
isset($parse['host']) && $host = $parse['host'];
$methods = array(
"video.tudou.com" => "tudou",
"v.youku.com" => "youku",
"v.ku6.com" => "ku6",
"tv.sohu.com" => "sohu",
"video.sina.com.cn" => "sina",
"www.56.com" => "five_six",
"www.iqiyi.com" => "iqiyi",
"v.ifeng.com" => "ifeng",
"v.qq.com" => "vqq",
"v.pptv.com" => "pptv",
"www.mgtv.com" => "mgtv",
);
isset($methods[$host]) && print_r($this->$methods[$host]($url));
}
}
/**
* 优酷网
* // http://www.youku.com
* @param string $url
*/
private function youku($url) {
preg_match('/id_(.*).html/', $url, $url2);
if (isset($url2[1])) {
return "http://player.youku.com/embed/{$url2[1]}==";
}else{
return $url;
}
}
/**
* 腾讯视频
* // https://v.qq.com
* @param string $url https://v.qq.com/x/cover/j0vxzxeo5dgftwt/u0898cpy9xa.html
*/
private function vqq($url) {
$data = file_get_contents($url);
// 匹配真实url地址
preg_match('<link rel="canonical" href="(.*)">', $data, $result);
preg_match('/(.*).html/', $result[1], $url2);
$url2=explode("/",$url2[1]);
if (isset($url2[6])) {
return "https://v.qq.com/txp/iframe/player.html?vid={$url2[6]}";
}elseif (isset($url2[5])) {
return "https://v.qq.com/txp/iframe/player.html?vid={$url2[5]}";
}else{
return $url;
}
}
/**
* pptv
* // http://v.pptv.com/
* @param string $url http://v.pptv.com/show/fk7mZfxaQH7hX8c.html
*/
private function pptv($url) {
preg_match('/(.*).html/', $url, $url2);
$url2=explode("/",$url2[1]);
if (isset($url2[4])) {
return "https://player.pptv.com/v/{$url2[4]}.swf";
}else{
return $url;
}
}
/**
* mgtv
* // https://www.mgtv.com
* @param string $url https://www.mgtv.com/b/328920/5994217.html?fpa=1413&fpos=3
*/
private function mgtv($url) {
preg_match('/(.*).html/', $url, $url2);
$url2=explode("/",$url2[1]);
if (isset($url2[5])) {
return "http://player.mgtv.com/mgtv_v6_out/main.swf?video_id={$url2[5]}";
}else{
return $url;
}
}
/**
* 土豆网
* // http://www.tudou.com
* @param string $url
*/
private function tudou($url) {
return $url;
}
/**
* 搜狐视频
* // http://tv.sohu.com
* @param string $url
*/
private function sohu($url) {
$data = file_get_contents($url);
// 匹配真实url地址
preg_match('<meta property="og:video" content="(.*)">', $data, $result);
if (isset($result[1])) {
return $result[1];
}else{
return $url;
}
}
/**
* 奇艺网
* // http://www.qiyi.com
* @param string $url
*/
private function iqiyi($url) {
return $url;
}
}
本文由 易云博客 作者:易云 发表,其版权均为 易云博客 所有,文章内容系作者个人观点,不代表 易云博客 对观点赞同或支持。如需转载,请注明文章来源。
34

发表评论