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

Bạn đang ở bài 4 trong 12 bài của serie Get Link.

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:

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

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ẻ.

Hướng dẫn get link video Youtube bằng cURL
5 (100%) 7 votes

Từ khóa tìm kiếm:

  • get link youtube
  • getlink youtube
  • code get link youtube
  • Web Get Link Youtube#spf=1
  • het link youtube
  • share code get link youtube
  • https://blogit vn/huong-dan-get-link-video-youtube-bang-curl html
  • code php get link youtube
  • Get link youtobe
  • getink youtube

Bình luận

67 Bình luận on "Hướng dẫn get link video Youtube bằng cURL"

Thông báo
avatar
Sắp xếp:   Mới nhất | Cũ nhất | Bình chọn nhiều
Ngu Cac
Guest

Dùng theo dạng domain/getlink.php?url=link Youtube thì sửa code như thế nào vậy bạn?

Ngu Cac
Guest

Code có vấn đề rồi bạn ơi,rất nhiều link không thể get mặc dù còn sống nhăn
vd:https://www.youtube.com/watch?v=TjXnf8ggrSk
https://www.youtube.com/watch?v=ja6gJ6vDArc

Ngu Cac
Guest

Nó đòi hỏi mình phải đăng nhập vào youtube,vậy có cách nào cho phần đăng nhập vào code được không bạn?

t
Guest

Ad check lại code sao mà get được nhưng không tải được cả cái DEMO cũng vậy

Quy
Guest

Bạn có thể cho mình thêm đoạn get Thumbnail và Title của link youtube được không ?

Quy
Guest

Trong lúc đợi bạn trả lời mình mò code.
In ra cái ($data[1]) rồi phât tích cấu trúc data của nó và đã get được Thumbnail và Title rồi.

Thanks so much for your code.

chien9xcm
Guest

bạn ơi cho hỏi là code getlink youtube ra dạng nào nhanh và tối ưu nhất vậy

trackback

[…] trước: Hướng dẫn get link video Youtube bằng cURLBài kế tiếp: Hướng dẫn get link nhạc, video trang […]

SPY
Guest

Nhờ ad giải thích giúp mình đoạn: “preg_match(‘/;ytplayer\.config\s*=\s*({.*?});/’, $get, $data)” được không?
Thanks

nguyen
Guest

anh ad có thể gửi em 1 file PHP get link youtube đả có sẵn 1 link youtube trong đó, em lam hoài mà toan bị lỗi, không biết em có nhập link youtube sai chỗ không nữa, cảm ơn anh ad trước nhen

tran van hung
Guest

ad oi có cách nào chi ra 1 link có độ phân giải cao nhất để em add php vào jplayer, em dốt cái code này lắm, cảm on ad

Hoan
Guest

Chào anh ạ. em newbie vẫn chưa hiểu lắm mong anh giúp đỡ ạ. có video hướng dẫn chi tiết thì tốt quá. Em đang tính làm video phim trên web worpress ạ

Lê Tuấn Anh
Guest

Tool demo không hoạt động ad ơi!

Vinh
Guest
Anh ơi s em thêm vào mà nó hiện ra trang trắng trơn v a :(. A cho em xin code youtube lun di ạ. Em xin cảm ơn function getVideoYoutube($link) { $id = getIdYoutube($link); $getlink = “https://www.youtube.com/watch?v=4xmySVU-O7Q”.$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; } } ?>
sgdavid
Guest

Bạn ơi mình không chạy được bạn share cho mình code get link youtube với . Thanks

Tăng Hải Tuân
Guest

Tác giả gửi mail cho mình với nha. Cảm ơn tác giả

Huy
Guest

Admin có thể chỉ mình cách add link đã get vào video js không , Mình thữ nhiều code mà chưa được, nếu được admin gửi cho mình code demo nhen, rất cảm ơn admin

Bùi Quang Thanh
Guest

Ad ơi gửi vào mail cho mình nhé mình get ra trắng trơn không có gì cả khi echo ra

Huy
Guest

Ad cho mình hỏi cái , code nay có get được link 1080 của youtube được kkhông vây vì demo chỉ thay get dc 720 là hết

vanthu
Guest

Mình get ra link nhưng ko chạy được ad ơi?

phim s
Guest

get toàn bộ link thì mình làm được, get riêng link mp4 thì khó vc ra 😀

Huy
Guest

Có vài link khi get thì không chay được, do trong link có thông số IP , add có cách nào tranh dc việc này không , clip nao mà đã dính link kiểu này thì get bao nhiêu lần vân bị, không biết các link khác sau nay co bị không nữa

Tuan Hieu
Guest

Ad ơi muốn tích hợp cái này vào wordpress để play video thì làm thế nào ạ .

Hoàng
Guest

có cách nào get được những nội dung mới nhất của youtube k bác? 🙂

tienba
Guest

có cách nào dịch ngược ra lại từ 1 link get video trên youtube ra link thật của video trên youtube ko ad?

Van Đại
Guest

Làm sao để get link tụ động mà không cần nhấn vào nút get link bạn ơi. Chỉ giùm mình

trung
Guest

admin ơi giúp em với, anh có thể code sẵn 1 file dạng domain/getlink.php?url=link Youtube không để em dựa vào và làm với mấy cái kia tại em không bik code, mà admin nói kiểm tra bằng $_GET[‘url’] em không hiểu cho lắm. Với lại tích hợp lun player để play lun thì phải làm như thế nào. cảm ơn ạ

vinh
Guest

1 số links hok get dc bạn ơi. tại sao thế admin ?

https://www.youtube.com/watch?v=cQXqAQBu6Uc
https://www.youtube.com/watch?v=8dvW5l_eXBg

Hien
Guest

Bác ơi em download về chạy mà không được ạ .Bác nom lại với có gì chuyển demo cho em xin vào mail shang9x@gmail.com

Long
Guest

Link này nếu ghi vào file cache thì nó tồn tại trong bao nhiêu phút vậy ad

Nguyễn Anh Tú
Guest

Code này ko get đc video youtube bị bản quyền à ad

Tường Quân
Guest

ad ơi, mấy code này cho vào blogspot được không vậy Ad?
nếu được thì làm thế nào ạ?
thanks AD!

nguyễn đức
Guest

vì lý do muốn học tập. mong anh hải long share cho em code full của bài này để tìm hiểu.
chân thành cảm ơn anh

Cuong Nguyen
Guest

có cách nào để chèn vào jwplayer không ad

Ba Dương
Guest

Anh ơi
Cái link này em thử với API của mình thì đươc nhưng với code trên sao lại không được ạ 🙁

https://www.youtube.com/watch?v=EJfb35ov9Go&t=165s

wpDiscuz