Hướng dẫn get link nhạc, video trang nhaccuatui.com

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

Bài trước mình đã hướng dẫn get link nhạc, video trang mp3.zing.vn. Hôm nay mình sẽ hướng dẫn các bạn get link nhạc và video của trang nhaccuatui.com. Nếu đã đọc hướng dẫn cách get link của trang mp3.zing.vn rồi thì bạn sẽ rất dễ dàng trong việc get link của trang nhaccuatui.com này, vì các ý tưởng thực hiện nó cũng tương tự như vậy. Trước hết cùng dùng thử tool demo trước:

Demo tool get link nhaccuatui.com:

Nếu xem demo ok rồi thì chúng ta cùng bắt đầu phân tích cách get link.

Hướng dẫn get link nhạc, video trang nhaccuatui.com

Ý tưởng thực hiện:

Cũng tương tự như trang zing, nhaccuatui cũng như vậy, mỗi bài hát hoặc video, data đều được lưu vào file xml, nên ta sẽ đi tìm file xml đó để lấy thông tin bài hát. Có điều đặc biệt hơn zing là nhaccuatui cho phép mình có thông tin nhạc 320kbps và video độ phân giải cao 720p .

Bước đầu ta phân tích các kiểu url trên trang.

Trên nhaccuatui.com có 3 kiểu link nhạc:

  • Track đơn: http://www.nhaccuatui.com/bai-hat/*
  • Playlist và Album: http://www.nhaccuatui.com/playlist/*
  • Video: http://www.nhaccuatui.com/video-clip/*

Vì mỗi link khác nhau nên có kiểu lưu data xml khác nhau.

Chúng ta có 3 dạng lưu file xml:

  • Track đơn: http://www.nhaccuatui.com/flash/xml?key1=*
  • Album và playlist: http://www.nhaccuatui.com/flash/xml?key2=*
  • Video: http://www.nhaccuatui.com/flash/xml?key3=*

Ví dụ như bài hát: http://mp3.zing.vn/bai-hat/Vo-Nguoi-Ta-Phan-Manh-Quynh/ZW7WBZBI.html

Các bạn có thể view source link nó ra: view-source:http://mp3.zing.vn/bai-hat/Vo-Nguoi-Ta-Phan-Manh-Quynh/ZW7WBZBI.html

Sẽ có file xml tại đây: file=http://www.nhaccuatui.com/flash/xml?key1=270c28e286987bfdb2cfc59f88290231

Khi truy cập vào file xml đó ta sẽ thấy rõ các thông tin của bài hát này. Trong đó có <location>(chính là link mp3 của bài hát đó), <title>, <creator>, <info>….Tương tự như vậy các kiểu playlist cũng thế, còn video thì nó sẽ trả ra <location>, <lowquality>, <highquality> tương ứng với độ phân giải của video.

Vậy các bước thực hiện sẽ là:

view source -> tìm file xml -> đọc file xml -> trả ra kết quả

Để thực hiện được việc này trước tiên chúng ta phải có 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_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;
}

Nếu các bạn theo dõi các bài viết get link của mình thì không lạ gì với function curl này rồi đúng không.

Các bước thực hiện:

  • View souce link ra, hay đọc nội dung link đó, chúng ta sử dụng function curl trên:
$content = curl($link);
  • Tìm file xml:
preg_match("/http\:\/\/(www\.)?nhaccuatui\.com\/flash\/xml\?.*\"/",$content,$arr_preg);
  • Đọc file xml, chúng ta sử dụng lại function curl:
$linkXML = str_replace('"','',$arr_preg[0]); // bỏ ký tự " trong chuỗi lấy được
$xml_data = curl($linkXML);
  • Trả ra kết quả, ở đây mình có 2 cách trả ra. Thứ 1 là dùng hàm preg_match để tách nội dung muốn lấy, thứ 2 là dùng simplexml_load_string chuyển nội dung file thành mảng, ở đây mình sẽ chỉ cách thứ 2 nếu bạn muốn xem rõ hơn cách 1 thì có thể quay về bài hướng dẫn get link trang mp3 zing
$xml_string = str_replace("&lt;![CDATA[","",$xml_data); // xóa bỏ &lt;![CDATA[ khỏi chuỗi $xml_string = str_replace("]]&gt;","",$xml_string); // xóa bỏ ]]&gt; khỏi chuỗi
$xml_string = preg_replace('#&amp;(?=[a-z_0-9]+=)#', '&amp;amp;', $xml_string); // thay thế ký tự đặc biệt
$xml_arr = json_decode(json_encode((array) simplexml_load_string($xml_string)), 1); // chuyển đổi thành mảng
if($xml_arr['track']){
     $item = $xml['track'];
     $linkMp3 = $item['location'];
     $title = $item['title'];
}

Như vậy là chúng ta đã lấy được thông tin bài hát đó rồi function đầy đủ sẽ là:

function getMp3($link){
 $link = trim($link);
 $content = curl($link);
 preg_match("/http\:\/\/(www\.)?nhaccuatui\.com\/flash\/xml\?.*\"/",$content,$arr_preg);
 $return = array();
 if($arr_preg){
 $linkXML = str_replace('"','',$arr_preg[0]);
 $xml_data = curl($linkXML);
 $xml_string = str_replace("&amp;amp;lt;![CDATA[","",$xml_data);
 $xml_string = str_replace("]]&amp;amp;gt;","",$xml_string);
 $xml_string = preg_replace('#&amp;amp;amp;(?=[a-z_0-9]+=)#', '&amp;amp;amp;amp;', $xml_string);
 $xml_arr = json_decode(json_encode((array) simplexml_load_string($xml_string)), 1);
 if($xml_arr['track']){
 $item = $xml_arr['track'];
 $return['title'] = $item['title'];
 $return['creator'] = $item['creator'];
 $return['link128'] = $item['location'];
 $return['info'] = $item['info'];
 $return['lyric'] = $item['lyric'];
 $return['image'] = $item['bgimage'];
 $return['newtab'] = $item['newtab'];
 }
 }
 return $return;
}

Chỉ với 2 function curl và getMp3 chúng ta có thể get thông tin bài hát đó rồi, bạn chỉ cần điền link bài hát vào function getMp3, nó sẽ trả về cho bạn các thông tin cơ bản. Cách get playlist và video bạn có thể dựa vào các đoạn code trên để làm tương tự được rồi.

Cách get nhạc 320kbps nhaccuatui.com

Bạn để ý với link nhạc: http://www.nhaccuatui.com/bai-hat/vo-nguoi-ta-phan-manh-quynh.DRfuHT6Q2LvC.html
thì đoạn mình bôi đỏ đó chính là ID của nhạc.
Bạn chỉ cần truy cập đường dẫn: http://www.nhaccuatui.com/download/song/DRfuHT6Q2LvC
Nó sẽ trả về cho bạn thông tin link nhạc 320kbps:

{"error_message":"Success","data":{"stream_url":"http:\/\/download.s95.stream.nixcdn.com\/6e5c151d54d8a3c499c5166b81dda78d\/565aa7ae\/NhacCuaTui906\/VoNguoiTa-PhanManhQuynh-4108287_hq.mp3","is_charge":"false"},"error_code":0,"STATUS_READ_MODE":true}

đoạn stream_url chính là link nhạc 320kbps.
Đến thời điểm hiện tại(29/11/2015) thì trang nhaccuatui.com chưa fix cái này, ngày trước zing cũng có thể làm tương tự nhưng nó đã fix mất rồi. Mình sẽ viết 1 function get link nhạc này:

function get link nhạc 320kbps nhaccuatui.com:

function getLink320($link){
    $regex_link = '/http\:\/\/(www\.)?nhaccuatui\.com\/bai\-hat\/(.*?).html/'; 
    if (preg_match($regex_link, $link, $arr_preg)) { 
        $slug = $arr_preg[2];
        $idSong = substr($slug, strrpos($slug, '.')+1);
        $link320 = 'http://www.nhaccuatui.com/download/song/'.$idSong;
        $data = curl($link320);
        $stream_url = explode('"stream_url":"',$data);
        if($stream_url){
            $arr_link = explode('","',$stream_url[1]);
            $link = str_replace('\\','',$arr_link[0]);
            return $link;
        }
    }
}

Bạn chỉ cần bỏ link vào function nó sẽ trả về cho bạn link nhạc 320kbps.
Chúc bạn thành công.

Hướng dẫn get link nhạc, video trang nhaccuatui.com
5 (100%) 5 votes

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

  • get link nhaccuatui
  • get link video nhaccuatui
  • nhaccuatui
  • get link nct
  • code get link nhaccuatui
  • code get link nhac HTML
  • get link tai bai hat nct
  • nhachcuatui get link
  • getlink n
  • Getlink nhac

Bình luận

8 Bình luận on "Hướng dẫn get link nhạc, video trang nhaccuatui.com"

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

[…] Hướng dẫn get link nhạc, video trang nhaccuatui.com […]

trackback

[…] Bài 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 nhaccuatui.com […]

ChenJi Nguyễn
Guest

Bạn Ơi, Bây Giờ XML của Nhaccuatui nó chuyển dữ liện sang nguồn rồi vậy giờ làm sao
Help Giúp Mình Nhé

ChenJi Nguyễn
Guest

bạn có thể cho bộ sc dc ko bạn

Khon
Guest

bạn cho mình hỏi link get được có sử dụng trên player lâu dài được không bạn đó là dạng link cố định hay mỗi máy get ra được link khác nhau tuỳ theo ip… mình đang muốn làm 1 trang blog cá nhân mà không tìm được host nào chứa nhạc nên định dùng NCT… lại sợ link get ra chỉ sống đc theo ip người get

Trần Công Tuấn
Guest

bạn có thể chỉ giúp mình code lấy link nhạc 320 trên nhaccuatui không.

wpDiscuz