Hướng dẫn get link video trang v.nhaccuatui.com

Hôm nay mình hướng dẫn các bạn get link video trang nhaccuatui.com

Thông tin video trang v.nhaccuatui.com được lưu ở file xml, chúng ta đi tìm link xml đó để đọc thông tin là được, cũng không khó lắm, chỉ là làm cách nào để xác định được file xml đó nằm ở đâu? dạng như thế nào?

Giống như của nhaccuatui.com trang phiên bản video này file xml cũng có dạng: http://v.nhaccuatui.com/flash/xml?key=*

Khi vào xem video, chúng ta view source rồi kiếm từ khóa “play_key“, cái này chính là cái key trên link xml kia.

Ví dụ: http://v.nhaccuatui.com/phim/tan-than-dieu-dai-hiep-2014.X1S9siVuVqAx.html?key=7ujTvzw3BFCTp

View source sẽ thấy play_key=”a60ac21610583fd27612390ac4ac1644“

Bỏ key vào link xml: http://v.nhaccuatui.com/flash/xml?key=a60ac21610583fd27612390ac4ac1644

Vào link xml đó chúng ta view source lần nữa sẽ thấy thông tin các video của tivi show Ơn giời cậu đây rồi, tức là ta có thể get hết tất cả tập phim luôn. Đó là tất cả hướng làm, giờ chúng ta cùng thực hiện trên code.

Trước tiên 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;
}

Và function getListMp4:

function getListMp4($link){
    $content = curl($link); // đọc nội dung trang
    $return = array();
    preg_match("/play_key\=\"(.*)\"/",$content,$arr_preg); // tìm key
    if($arr_preg){
        $arrKeyXML = explode('"', $arr_preg[1]); // tách key trong chuỗi vừa tìm được
        $linkXML = 'http://v.nhaccuatui.com/flash/xml?key='.$arrKeyXML[0]; // ghép key vào link xml
        $xml_data = curl($linkXML); // đọc nội dung 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); // 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']){
            $arrItem = $xml_arr['track']['item'];
            foreach ($arrItem as $key => $item) {
                $return[$key]['link480']   = $item['location']; // link video 480p
                $return[$key]['link360']   = $item['lowquality']; // link video 480p
                $return[$key]['link720']   = $item['highquality']; // link video 480p
                $return[$key]['title']     = $item['title']; // title
                $return[$key]['image']     = $item['image']; // link image
                $return[$key]['time']      = $item['time']; // time
                $return[$key]['view']      = $item['view']; // lượt view
            }
        }
    }
    return $return;
}

Mình đã comment chú thích từng dòng code rồi, cách dùng thì bạn chỉ cần điền link vào function nó sẽ trả về cho bạn 1 mảng chứa tất cả các link đó:

$link = "http://v.nhaccuatui.com/tv-show/on-gioi-cau-day-roi-2015.7WfhOTHvMfE1.html?key=gf6VPxkkDukDU";
$test = getListMp4($link);
echo "<pre>";
print_r($test);

Nguồn: blogit.vn