Mình thấy nhiều bạn có nhu cầu Get link TV.ZING.VN để phục vụ lấy link video trực tiếp cho web phim của họ mà chưa có kinh nghiệm để thực hiện. Thật ra cũng rất đơn giản thôi. Chỉ với vài dòng code ngắn là các bạn có thể lấy được link để download hoặc chèn cho web phim của bạn
Demo : http://namcoder.com/getzing
Hướng dẫn viết code Get link TV.ZING.VN
Đầu tiên, các bạn mở một link nào đó bất kỳ trên http://tv.zing.vn , sau đó View Source của trang đó. Các bạn kéo xuống sẽ thấy 1 đoạn như thế này:
if (flObject.major == 0) { zm('#oplayer').remove(); document.write('<video width="854" height="520" autohide="true" controls="controls" autoplay="autoplay" loop="loop" poster="http://image.mp3.zdn.vn/tv_media_854_480/2014/0329/85/3c87b57e42c5ef4051b2a1c3e89078ee_1.jpg">'); document.write('<source src="http://tv.zing.vn/html5/video/ZnxmyQisFhybGZn" type="video/mp4" />'); document.write('Không hỗ trợ play trên thiết bị này'); }
Đó chính là đoạn chính mà chúng ta cần tách ra để lấy link
Các bạn tạo 1 file PHP mới, giao diện ở trang demo mình lấy CSS có sẵn của Bootstrap, các bạn có thể tự làm phần giao diện theo ý các bạn
Trong đó, các bạn tạo 1 form tương tự thế này:
<form action="" method='get'> <div class="form-group"> <label for="link">Link video: </label> <input type="text" id="link" class="form-control" name="link" value="<?php if(isset($_GET['link']))echo $_GET['link']; ?>"> </div> <div class="form-group"> <p class="text-muted">Example: http://tv.zing.vn/video/Nguoi-Bi-An-Trailer/IWZAO9CE.html</p> <button class="btn btn-success" type='submit'>Get Link</button> </div> </form>
Và các bạn thêm đoạn xử lý khi người dùng bấm nút Get Link
<?php if(isset($_GET['link']) && $_GET['link']!=null){ $link = preg_match('/(http:\/\/tv.zing.vn\/video\/)([\w-]+)\/([\w\d]+).html/',$_GET['link']); if($link==0){ echo '<p class="text-danger">Error: Wrong type of link, please check again</p>'; return false; } $get = file_get_contents($_GET['link']); preg_match('/poster=\"(.*)\"/', $get,$cover); // cover preg_match('/<title>(.*)<\/title>/', $get,$title); // title preg_match('/<source src="(.*?)"/', $get,$link); // link echo '<p><img src="'.$cover[1].'" alt="" width="40%"></p>'; $title = explode('|', $title[1]); echo '<p><strong>'.$title[0].'</strong></p>'; $result = get_headers($link[1]); $final = explode('Location:', $result[6]); echo '<a target="_blank" href="'.$final[1].'">'.$final[1].'</a>'; } ?>
Những đoạn code trên nói chung là đơn giản, kiểm tra link đưa vào của người dùng có đúng với cấu trúc link hay không, sau đó đọc nội dung của link ta đưa vào, rồi lọc lấy đoạn cần lấy và in ra.
Hàm preg_match dùng để lọc ra 1 đoạn code cần lấy, ở bên trên , hàm preg_match sẽ kiểm tra link người dùng nhập vào có đúng dạng link hay không, sau đó dùng hàm file_get_contents lấy nội dung và xong lại dùng preg_match để lọc và lấy ra dữ liệu cần như hình cover, tên clip, và link.
Hàm preg_match dùng để lọc ra 1 đoạn code cần lấy, ở bên trên , hàm preg_match sẽ kiểm tra link người dùng nhập vào có đúng dạng link hay không, sau đó dùng hàm file_get_contents lấy nội dung và xong lại dùng preg_match để lọc và lấy ra dữ liệu cần như hình cover, tên clip, và link.
Nguồn: Namcoder
5 comments
hihi