我正在尝试使用PHP创建一个网站,可以使用Dailymotion视频链接下载Dailymotion视频。我搜索谷歌并找到了一些脚本。但脚本不起作用。 我上次尝试了以下代码。
$video="x62w2zn";//a static dailymotion video id
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$video);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"')); // beginning of link
$link = substr($link, 0, strpos($link, '"}')); // end of link
$link = str_replace("\\", '', $link); // delete backslashes
if(!empty($link)){
file_put_contents($path_log_link.$video, $link); // save link in log
$cmd='wget -bqc '.$link.' -O "'.$path_download_file.$video.'.mp4"';
exec($cmd,$o,$r);
}
但是这个脚本也没有工作。执行后显示空白页面,没有任何内容正在下载。 请帮我解决这个问题。
答案 0 :(得分:0)
function curlGet($URL) {
$ch = curl_init();
$timeout = 3;
curl_setopt( $ch , CURLOPT_URL , $URL );
curl_setopt( $ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT , $timeout );
$tmp = curl_exec( $ch );
curl_close( $ch );
return $tmp;
}
$id=$_GET['id'];
$link144=$link240=$link380=$link480=$link720=$link1080='';
$url= "https://www.dailymotion.com/embed/video/" . $id;
$video_info = curlGet($url);
preg_match('/,"qualities":(.+),"reporting"/', $video_info, $match);
$jd=json_decode($match[1],1);
if(@$jd['144']){
$link144=$jd['144'][1]['url'];
}
答案 1 :(得分:0)
我使用你的代码,它对我有用。
<?php
$videoid="x62w2zn";//a static dailymotion video id
$path_log_link='logs/';
$path_download_file='videos/';
$link="";
$page=file_get_contents('http://www.dailymotion.com/embed/video/'.$videoid);
$link = substr($page, strlen('mp4","url":"')+strripos($page, 'mp4","url":"')); // beginning of link
$link = substr($link, 0, strpos($link, '"}')); // end of link
$link = str_replace("\\", '', $link); // delete backslashes\
$path = $path_download_file.$videoid.".mp4";
if ((!file_exists($path)) && (!empty($link))){
file_put_contents($path_log_link.$videoid.'.txt', $link); // save link in log
$cmd='wget -bqc '.$link.' -O "'.$path_download_file.$videoid.'.mp4"';
exec($cmd,$o,$r);
}
?>
在视频文件夹中获取结果