PHP解析mgtv视频的例子
我们都知道,芒果TV是一个很流行的在线视频平台,它为我们提供了很多优秀的电影和电视剧。但是,当我们想要下载这些视频时,我们遇到了问题,因为mgtv视频被保护,不能直接下载。在这种情况下,我们可以使用PHP解析mgtv视频。
首先,需要找到mgtv视频的URL。 这可以通过各种方式完成。 例如,我们可以从芒果TV网站上复制URL,或者通过使用ffmpeg命令行工具从mgtv网站中提取FLV URL。 在此示例中,我们将使用一个已知的mgtv视频URL来说明。
<?php
$url = 'http : //www.mgtv.com/b/308770/6024471.html';
function get_mgtv_video($url)
{
$result = '';
$html = file_get_contents($url);
$pattern = '/vid:"(.*?)"/';
preg_match($pattern,$html,$matches);
if($matches){
$vid = $matches[1];
$url = 'http : //pcweb.api.mgtv.com/player/video?video_id='.$vid.'&format=1';
$json = file_get_contents($url);
$arry = json_decode($json,true);
if($arry['code'] == 200){
$result = $arry['data']['stream'][0]['url'];
}
}
return $result;
}
echo get_mgtv_video($url);
代码解释如下:
首先我们创建一个名为get_mgtv_video的函数,这个函数接收一个url参数。我们通过调用这个函数来获取mgtv视频URL。
其次,我们使用file_get_contents函数获取mgtv页面的HTML代码。然后我们用正则表达式从HTML中匹配出vid:
$html = file_get_contents($url);
$pattern = '/vid:"(.*?)"/';
preg_match($pattern,$html,$matches);
if($matches){
$vid = $matches[1];
//...
}
一旦我们得到了vid,我们可以通过调用API来获取mgtv视频的JSON数据:
$url = 'http : //pcweb.api.mgtv.com/player/video?video_id='.$vid.'&format=1';
$json = file_get_contents($url);
$arry = json_decode($json,true);
在这个JSON数据中,我们可以找到视频流数组,包括FLV格式等。在这种情况下,我们只关心第一个流的URL:
$result = $arry['data']['stream'][0]['url'];
最后,我们返回了mgtv视频的URL:
return $result;
现在,我们可以通过调用get_mgtv_video函数获取mgtv视频的URL:
echo get_mgtv_video($url);
总之, PHP解析mgtv视频是一个非常有用的技术,它可以帮助我们下载mgtv视频以离线观看。你可以自己尝试一下这个例子,并应用到你自己的项目中。