Hướng dẫn get link video trang tv.zing.vn

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

Bài trước đã hướng dẫn các bạn cách get link nhạc và video trang np3.zing.vn, bạn nào chưa xem qua thì có thể xem tại đây, để có thể dễ hiểu bài hướng dẫn này hơn vì mp3.zing với tv.zing khá giống nhau về cách get link do nó cùng là của zing mà.

Trước hết các bạn xem demo trước nhé :

Demo Tool get link video tv.zing.vn:

get link video tv.zing.vn

Chúng ta cùng bắt đầu thực hiện.

Get link video mp4 của tv.zing.vn thì có khá nhiều cách để làm. Có 1 cách đơn giản nhất cho các bạn đó là view-source link video đó, rồi tìm với từ khóa “.mp4“, cách thứ 2 là tìm file xml lưu thông tin video mà đọc file đó. Ta bắt đầu thực hiện các cách:

1. Get link video bằng cách view-source

Ví dụ link: http://tv.zing.vn/video/Ghien-Mi-Go-Tap-41-Cu-Soc-La-Se-Ra/IWZBB9WA.html

Các bạn view-source nó rồi nhấn Ctrl+F, gõ “.mp4” các bạn sẽ thấy các link mp4 của nó như trong hình

get link video tv.zing.vn

Đây là cách lấy link khá dễ dàng, như hướng dẫn trên thì bạn sẽ làm thủ công, còn nếu code php thì hướng làm sẽ như sau:

  • Dùng cURL để đọc trang.
  • Dùng preg_match_all để lọc các link mp4 ra và dựa vào data-res=”360/480″ để lấy chất lượng video

Đây là code php preg_match_all để lấy link mp4:

$data = curl($link);
preg_match_all('/<source src\=\"(.*?)\" type\=\"video\/mp4\" data\-res\=\"(.*?)\"\/\>/',$data,$arr_preg);

2. Get video bằng file xml

Như cách 1, bạn view-source rồi tìm với từ khóa “xml“, bạn sẽ thấy có link file xml: http://tv.zing.vn/tv/xml/media/LGJnyZQscChtCDxGTBhHtDGZG

Trong file này nó lưu các thông tin của video như title, performer, image, source, f720, f480. f720 bị ẩn do nó đòi hỏi acc vip, cái source(mình đã có cách get được video 720p, đã update ở cuối bài), f480 chính là link mp4 nhưng đã được mã hóa. Mình sẽ hướng dẫn cách giải mã sau, giờ chúng ta cùng thực hiện từng bước:

Đầu tiên chúng ta cần function curl, cái này không thể thiếu 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_ENCODING, '');
    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;
}

Và đây là function getMp4:

function getMp4($link){
    $return = array();
    $data = curl($link); // đọc dữ liệu link
    preg_match('/http\:\/\/tv\.zing\.vn\/tv\/xml\/media\/(.*)"/', $data, $arr_preg); // tìm link xml
    $link_xml = str_replace('"','',$arr_preg[0]); // xóa dấu " trong link xml tìm được
    $xml_data = curl($link_xml); // đọc dữ liệu link xml
    $xml_string = str_replace("<![CDATA[","",$xml_data); // loại bỏ <![CDATA[ $xml_string = str_replace("]]>","",$xml_string); // loại bỏ ]]>
    $xml_string = preg_replace('#&(?=[a-z_0-9]+=)#', '&amp;', $xml_string); // chuyển đổi các ký tự đặc biệt
    $xml_arr = json_decode(json_encode((array) simplexml_load_string($xml_string)), 1); // chuyển đôi xml sang array
    if($xml_arr['item']){ // kiểm tra $xml_arr['item'] có không
        $item = $xml_arr['item'];
        $return['title']        = $item['title']; // title
        $return['performer']    = $item['performer']; // performer
        $return['image']        = $item['cover']; // cover
        $return['360p']         = decodeCrypt($item['source']); // decode Crypt chuỗi tìm được
        $return['480p']         = decodeCrypt($item['f480']); // decode Crypt chuỗi tìm được
        $return['720p']         = $item['f720'];
    }
    return $return;
}

Mình đã comment hướng dẫn từng dòng code rồi nên sẽ không nói chi tiết nữa, các bạn để ý mình có sử dụng function decodeCrypt để lấy get được link mp4:

$return['360p'] = decodeCrypt($item['source']); // encode chuỗi tìm được
$return['480p']  = decodeCrypt($item['f480']); // encode chuỗi tìm được

Hiện tại file xml này đã không còn mã hóa nữa nên các bạn có thể bỏ function decodeCrypt ra không cần nữa

$return['360p'] = $item['source'];
$return['480p']  = $item['f480'];

Nếu thời điểm bạn get link mà nó mã hóa thì bỏ function decodeCrypt vào để get link.
function decodeCrypt này được share trên sinhvienit.net, mình đã rút gọn nó lại:

function decodeCrypt($text){
    $key = [email protected]';
    $iv = [email protected]';
    if($text != ''){
        $cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
        $iv_size = mcrypt_enc_get_iv_size($cipher);
        if(mcrypt_generic_init($cipher, $key, $iv) != -1){
            $char = '';
            for($i=0; $i<strlen($text);$i+=2){
                $char .= chr(hexdec($text{$i}.$text{($i+1)}));
            }
            $cipherText = mdecrypt_generic($cipher,$char);
            mcrypt_generic_deinit($cipher);
            return $cipherText;
        }else{
            return false;
        }
    }
}

Như vậy là xong bạn chỉ cần bỏ link vào function getMp4($link) thì nó sẽ về cho bạn các thông tin của video đó.

UPDATE: Cách get link 720p trang tv.zing.vn

Như bạn đã biết mỗi bài viết trên website đều có 1 id riêng và trang tv zing cũng vậy, đoạn mình bôi đỏ chính là ID của video:
http://tv.zing.vn/video/Ghien-Mi-Go-Tap-41-Cu-Soc-La-Se-Ra/IWZBB9WA.html
Ta có link embed của video: http://tv.zing.vn/embed/video/IWZBB9WA
Bạn view-source link này ra sẽ tìm thấy link xml media embed: http://tv.zing.vn/tv/xml/media-embed/kncGTkQNJhCtdCHyvnkH?
Khi truy cập vào link đó thì sẽ thấy thông tin của video này, trong đó chứa cả video định dạng 720p.
Vậy cách làm cũng tương tự như trên, funtion này mình chỉnh sửa lại từ fuction getMp4 trên:

function getMp4HD($link){
    $return = array();
    $regex_link = '/http\:\/\/tv\.zing\.vn\/video\/(.*)\/(.*).html/';
    if (preg_match($regex_link, $link, $getID)) { // lấy ID video
        $idVideo = $getID[2]; // id video
        $linkEmbel = 'http://tv.zing.vn/embed/video/'.$idVideo; // add id video vào link embed
        $data = curl($linkEmbel); // đọc trang embel
        preg_match('/http\:\/\/tv\.zing\.vn\/tv\/xml\/media\-embed\/(.*)"/', $data, $arr_preg); // lấy link xml media embed
        $link_xml = str_replace('"','',$arr_preg[0]); // xóa bỏ " trong link
        $xml_data = curl($link_xml); // đọc trang xml
        $xml_string = str_replace("<![CDATA[","",$xml_data); // loại bỏ <![CDATA[ $xml_string = str_replace("]]>","",$xml_string); // loại bỏ ]]>
        $xml_string = preg_replace('/&(?!#?[a-z0-9]+;)/', '&amp;', $xml_string); // chuyển đổi ký tự đặc biệt
        $xml_arr = json_decode(json_encode((array) simplexml_load_string($xml_string)), 1); // chuyển thành mảng
        if($xml_arr['item']){
            $item = $xml_arr['item'];
            $return['title']        = $item['title'];
            $return['performer']    = $item['performer'];
            $return['image']        = $item['cover'];
            $return['360p']         = decodeCrypt($item['source']); // encode chuỗi tìm được
            $return['480p']         = decodeCrypt($item['f480']); // encode chuỗi tìm được
            $return['720p']         = decodeCrypt($item['f720']); // encode chuỗi tìm được
        }
    }
    return $return;
}
Hướng dẫn get link video trang tv.zing.vn
5 (100%) 8 votes

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

  • get link zing tv
  • Get linh zing tv
  • tại sao getlink không get được video trên zing
  • tv zing vn koi to uso
  • code get link zing
  • code get link zing tv
  • hd get link openload
  • web get link Ingtv
  • wedsite get link zingtv

Bình luận

23 Bình luận on "Hướng dẫn get link video trang tv.zing.vn"

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

Sao minh get film tv.zing không được vậy. nó bị sai cái key trong file xml

nguyen
Guest

s view sour e lam hoai k dc v ad

Hieu Tran
Guest

Ad ơi viết getlink dạng html5 như : http://tv.zing.vn/html5/video/LHxGtkLFdlpyFnkG đi ạ

Hieu Tran
Guest

Ad ơi lấy link dạng html5 của tvzingvn như thế nào ? Ad ra bài viết hướng dẫn đi

tungtq
Guest
Giang
Guest

bị lỗi rồi bạn ơi

Tuan Vu
Guest

Ad ơi, ad có thể viêt code grap link zing tv được ko ạ, kiểu như phim zing tv có nhiều tập, mình grap ra link từng tập ấy ạ, e cảm ơn và mong tin ad ạ.!

rafael
Guest

make a post get link openload

Nguyễn Anh Tú
Guest

h có cách get qua api của zingtv rồi ad, làm kiểu này mất công lắm

Nam
Guest

hay quá.
lấy link download về xem

Niku
Guest

Ngoài link demo của ad, mh chả get được cái link nào khác cả @@

wpDiscuz