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

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

Tiếp tục với seri get link, hôm nay mình hướng dẫn các bạn cách get link video mp4 của youtube bằng cURL. Việc get link với mục đích gì thì mình không cần nói nữa :) các bạn đã tìm đến bài viết này thì chắc hẳn đã có mục đích get link của riêng mình rồi.
Trước khi vào hướng dẫn thì các bạn thử demo trước:

Demo get link video youtube: Demo



Hướng dẫn:
function cURL

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 get id youtube

function getIdYoutube($link){
    preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $link, $id);
    if(!empty($id)) {
        return $id = $id[0];
    }
    return $link;
}

function get link mp4 youtube

function getVideoYoutube($link) {
    $id = getIdYoutube($link);
    $getlink = "https://www.youtube.com/watch?v=".$id;
    if ($get = curl($getlink )) {
        $return = array();
        if (preg_match('/;ytplayer\.config\s*=\s*({.*?});/', $get, $data)) {
            $jsonData  = json_decode($data[1], true);
            $streamMap = $jsonData['args']['url_encoded_fmt_stream_map'];
            foreach (explode(',', $streamMap) as $url)
            {
                $url = str_replace('\u0026', '&', $url);
                $url = urldecode($url);
                parse_str($url, $data);
                $dataURL = $data['url'];
                unset($data['url']);
                $return[$data['quality']."-".$data['itag']] = $dataURL.'&'.urldecode(http_build_query($data));
            }
        }
        return $return;
    }else{
        return 0;
    }
}

Cách dùng: Bạn có thể điền link youtube hoặc id của nó vào function getVideoYoutube($link) là nó trả về 1 mảng chứa tất cả các link sd, hd.
Chúc các bạn vui vẻ.
Nguồn:blogit.vn 

Bài viết liên quan:

https://severphim.blogspot.com/2016/03/huong-dan-get-link-video-youtube-bang.html

Nhận Xét Facebook

Chờ xíu nhé...

Nhận Xét Blogger


Không có nhận xét nào. bạn hãy là người đầu tiên.