首页 > PHP > PHP获取各大视频网站页面中的Flash播放地址

PHP获取各大视频网站页面中的Flash播放地址

目前已支持新浪播客、优酷网、土豆网、酷6网、搜狐视频、56网、奇艺网、凤凰网等视频网站的视频播放页链接。

<?php
if (!empty($_GET['url']))
{
	$web_video = new free_flash_video();
	$web_video->index();
}
/**
 * 获取视频地址
 * @author qiufeng <fengdingbo@gmail.com>
 * @link	http://www.fengdingbo.com
 *
 */
class free_flash_video{
 
	public function index()
	{
		// 获取正常视频地址
		$url = $_GET['url'];
		if ($url)
		{
			$parse = parse_url($url);
 
			isset($parse['host']) && $host = $parse['host'];
 
			$methods = array(
					"www.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",
					"www.yinyuetai.com"	=> "yinyuetai",
			);
 
			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,$url);
 
		if (isset($url[1]))
		{
			return "http://static.youku.com/v/swf/qplayer.swf?VideoIDS={$url[1]}&=&isAutoPlay=true&embedid";
		}
	}
 
	/**
	 * 土豆网
	 * // http://www.tudou.com
	 * @param string $url
	 */
	private function tudou($url)
	{
		$data = file_get_contents($url);
		// 匹配真实url地址所需的iid编号
 
		preg_match('/iid:(.*)/', $data, $result);
		if (isset($result[1]))
		{
			$url = trim($result[1]);
			return "http://www.tudou.com/player/skin/plu.swf?iid={$url}";
		}
	}
 
	/**
	 * 酷6网
	 * // http://www.ku6.com
	 * @param string $url
	 */
	private function ku6($url)
	{
		// 匹配真实url地址
		preg_match('/show\/(.*)\.{1}/', $url, $result);
 
		if (isset($result[1]))
		{
			return "http://player.ku6.com/refer/{$result[1]}/v.swf&auto=1";
		}
	}
 
	/**
	 * 搜狐视频
	 * // 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];
		}
	}
 
	/**
	 * 新浪播客
	 * // http://video.sina.com.cn
	 * @param string $url
	 */
	private function sina($url)
	{
		$data = file_get_contents($url);
		// 匹配真实url地址
		preg_match("/swfOutsideUrl:'(.*)',/", $data, $result);
		if (isset($result[1]))
		{
			return $result[1];
		}
	}
 
	/**
	 * 56网
	 * // http://www.56.com
	 * @param string $url
	 */
	private function five_six($url)
	{
		// 取出视频所需key
		preg_match('/(v_.*)\.html/', $url, $result);
 
		if (isset($result[1]))
		{
			return "http://player.56.com/{$result[1]}.swf";
		}
	}
 
	/**
	 * 奇艺网
	 * // http://www.qiyi.com
	 * @param string $url
	 */
	private function iqiyi($url)
	{
		$data = file_get_contents($url);
 
		// 取出视频所需key
		preg_match('/("videoId":"(.*)")|(data-player-videoid="(.*)")/U', $data, $result);
 
		if (isset($result[4]))
		{
			return "http://www.iqiyi.com/player/20130315154043/SharePlayer.swf?vid={$result[4]}";
		}
	}
 
	/**
	 * 凤凰网
	 * // http://www.ifeng.com
	 * @param string $url
	 */
	private function ifeng($url)
	{
		// 取出视频所需key
		preg_match('/\d+\/(.*)\./', $url, $result);
 
		if (isset($result[1]))
		{
			return "http://v.ifeng.com/include/exterior.swf?guid={$result[1]}&fromweb=sinaweibo&AutoPlay=true";
		}
	}
}
?>

PHP API调用实例

http://fengdingbo.com/tools/web_video.php?url=视频页面地址

eg:http://fengdingbo.com/tools/web_video.php?url=http://www.iqiyi.com/dianying/20130217/e72ffd87c2e9c5af.html

分类: PHP 标签: ,
  1. 2013年4月1日17:35 | #1

    可惜还是有广告
    记得土豆的API从XML里获取的播放地址没有广告
    其它网站的不详

  2. 2013年4月11日20:31 | #2

    很全,正好有需要,当伸手党了,多谢LZ!

  3. susie100
    2013年5月12日00:55 | #3

    有些问题 奇艺的有些地址获取不到

  4. 2014年3月12日18:10 | #4

    爱奇艺视频播放 支持手机 电脑

    var _param = [];_param.push(“vid=9cf9711c53bde745c69189aea8178776”);_param.push(“tvid=227875400”);_param.push(“coop=coop_197c20130409”);_param.push(“bd=1”);_param.push(“cid=qc_105024_300210″);lib.kit.video.render(‘width’, ‘100%’,’height’, ”,’src’,’http://dispatcher.video.qiyi.com/disp/shareplayer.swf’,’id’,’flash’,’bgcolor’,’#000000′,’flashVars’, _param.join(‘&’),’align’, ‘middle’,’ipad’,’true’);

  5. 2014年3月12日18:11 | #5

    ???刚刚发的代码 好像发布之后就刷掉了 格式

  1. 本文目前尚无任何 trackbacks 和 pingbacks.