15/12/15

Hướng dẫn get link video facebook bằng cURL

15:18

Có nhiều bạn muốn get link video facebook với nhiều mục đích khác nhau như download video facebook… Hôm nay mình xin hướng dẫn cách get link video facebook bằng cURL

Demo get link video facebook online: 

  • function cURL

Vì sử dụng hàm cURL nên chúng ta không thể thiếu hàm cURL rồi:
function curl($url) {    $ch = @curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    $head[] = "Connection: keep-alive";    $head[] = "Keep-Alive: 300";    $head[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";    $head[] = "Accept-Language: en-us,en;q=0.5";    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36');    curl_setopt($ch, CURLOPT_HTTPHEADER, $head);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($ch, CURLOPT_TIMEOUT, 60);    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));    $page = curl_exec($ch);    curl_close($ch);    return $page;}
  • function getFacebook

Có funtion curl rồi giờ chúng ta đến function getFacebook
function getFacebook($link){    if(substr($link, -1) != '/' && is_numeric(substr($link, -1))){        $link = $link.'/';    }    preg_match('/https:\/\/www.facebook.com\/(.*)\/videos\/(.*)\/(.*)\/(.*)/U', $link, $id); // link dạng https://www.facebook.com/userName/videos/vb.IDuser/IDvideo/?type=2&theater    if(isset($id[4])){        $idVideo = $id[3];    }else{        preg_match('/https:\/\/www.facebook.com\/(.*)\/videos\/(.*)\/(.*)/U', $link, $id); // link dạng https://www.facebook.com/userName/videos/IDvideo        if(isset($id[3])){            $idVideo = $id[2];        }else{            preg_match('/https:\/\/www.facebook.com\/video\.php\?v\=(.*)/', $link, $id); // link dạng https://www.facebook.com/video.php?v=IDvideo            $idVideo = $id[1];            $idVideo = substr($idVideo, 0, -1);        }    }    $embed = 'https://www.facebook.com/video/embed?video_id='.$idVideo; // đưa link về dạng embed    $get = curl($embed);    $data = explode('[["params","', $get); // tách chuỗi [["params"," thành mảng    $data = explode('"],["', $data[1]); // tách chuỗi "],[" thành mảng    $data = str_replace(        array('\u00257B', '\u002522', '\u00253A', '\u00252C', '\u00255B', '\u00255C\u00252F', '\u00252F', '\u00253F', '\u00253D', '\u002526'),        array('{', '"', ':', ',', '[', '\/', '/', '?', '=', '&'),        $data[0]    ); // thay thế các ký tự mã hóa thành ký tự đặc biệt    //Link HD    $HD = explode('[{"hd_src":"', $data);    $HD = explode('","', $HD[1]);    $HD = str_replace('\/', '/', $HD[0]);    //Link SD    $SD = explode('"sd_src":"', $data);    $SD = explode('","', $SD[1]);    $SD = str_replace('\/', '/', $SD[0]);    if($HD){        $linkDownload['HD'] = $HD; // link download HD    }    if($SD){        $linkDownload['SD'] = $SD; // link download SD    }    $imageVideo = 'https://graph.facebook.com/'.$idVideo.'/picture'; // get ảnh thumbnail    $linkVideo = array_values($linkDownload);    $return['linkVideo'] = $linkVideo[0]; // link video có độ phân giải lớn nhất    $return['imageVideo'] = $imageVideo; // ảnh thumb của video    $return['linkDownload'] = $linkDownload; // link download video    return $return;}

Hàm này sẽ trả về 1 mảng chứa image thumbnail của video, 1 link có độ phân giải lớn nhất, và tất cả link(HD,SD) của video. Mình đã giải thích code ở từng dòng rồi, thật đơn giản phải không nào.
  • cách dùng

Cách dùng thì đơn giản rồi, bạn chỉ cần copy link bỏ vào function là được thôi
$getFacebook = getFacebook($link);if($getFacebook){    $get = $getFacebook;    echo "Link Video: ".$get['linkVideo'];    echo "<br>";    echo "Link ảnh: ".$get['imageVideo'];    echo "<br>";    $linkDownload = $get['linkDownload'];    echo "Link download: ";     echo "<pre>";    print_r($linkDownload);    echo "</pre>";}

Tác giả bài viết

Mọi chia tiết xin các bạn hãy liên hệ với mình qua: Facebook hoặc Google+ Cảm ơn các bạn đã dành thời gian vào blog của mình!

 

© 2015 Hot Quá Cơ - King Of Hot.

Back To Top