Code get link video facebook bằng Curl

Có nhiều bạn muốn lấy link video trên facebook để làm tool auto upload video lên page hay spam hay gì đó. thì hôm nay Mạnh Hùng xin chia sẻ code dùng curl để get link một video nào đó trên facebook huong dan get link video facebook

function cURL


Tạo file facebook.php vào copy lần lượt các function sau ném vào
Do là get video bằng curl lên phải có một hàm curl html sau:
< ?php
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 đây là function quyết định
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
$data = json_decode($data); // decode chuỗi
$video_data = $data->video_data; // get video data
$progressive = $video_data->progressive;
$linkDownload = array();
if(isset($progressive->hd_src)){
$linkDownload['HD'] = $progressive->hd_src;// link download HD
}
if(isset($progressive->sd_src)){
$linkDownload['SD'] = $progressive->sd_src;// link download SD
}
$imageVideo = 'https://graph.facebook.com/'.$idVideo.'/picture'; // get ảnh thumbnail
$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 curl get link video facebook như sau:

Các dùng thì đơn giản cmn luôn!
$link = ' {//Copy link facebook ném vào đây} ';
$getFacebook = getFacebook($link);
if($getFacebook){
echo "Link ảnh: ".$getFacebook['imageVideo'];
echo "Link download: ";
print_r($getFacebook['linkDownload']);
}
? >

Xong rồi đó. bây giờ chạy đường dẫn facebook.php kia là oke! Chúc bạn thành công!

TAGGED: Lập TrìnhShare

Bài Viết Liên Quan

Giới thiệu tới toàn thể mọi người mTainhac.info - một website tai nhac mp3, video clip nhạc, album nhạc hoàn toàn miễn phí cho tất cả các dòng điện thoại. Với hệ thống tìm, tải nhạc dễ sử dụng bạn sẽ dễ dàng tìm lấy bài hát bạn yêu thích. Ngoài ra website còn hỗ trợ nghe nhạc online. Tất cả đều miễn phí và bạn chỉ cần có một chiếc điện thoại có kết nối internet

2329 lượt xem

Nhận xét