
Admin
Well-Known Member
Staff member
Administrator
Ai leech nhớ ghi rõ nguồn http://tuoitreit.vn thanks1. Đầu tiên ta viết 1 tập tin với tên là index và chèn nó vào là xong (còn nội dung bên trong của func.php là gì thì cứ mặc kệ nó)
Chắc cái này ae hiểuPHP:<?php //file index.php include 'func.php'; ...........
Tiếp trong func này có hai chức năng cơ bản mà chúng ta phải nắm đó là chức năng grab_link() và laynoidung() cả hai chức năng này là những chức năng ta sẽ thêm vào trong index cách sử dụng chức năng grab_link
Tiếp theo là cách sử dụng hàm laynoidung(), hàm mày cần phải đáp ứng đủ 3 điều kiện là "nguồn, bắt đầu từ đâu, kết thúc chỗ nào" Cách sử dụng hàm laynoidung và mẫu code hoàn chỉnhPHP:<?php include 'func.php'; $canlay = grab_link("http://ten trang can lay"); ......
Thế là đã grab được trang cần lấy rồi đóPHP:<?php <?php include 'func.php'; $canlay = grab_link("http://trang can lay"); //tao bien chua nd bat dau $batdau = '<html><body>day la vd'; //tao bien chua nd ket thuc $ketthuc = '</html></body>day la vd'; //show ham laynoidung ra mh echo laynoidung($canlay, $batdau, $ketthuc); ?>
Ví dụ
2-Bài 2:PHP:<?php include'func.php'; $nd = grab_link("http://tayho.homeip.net/?f=DuBao"); $batdau = '<b>'; $ketthuc = '<a href="http://tayho.homeip.net">(c) by tayho.homeip.net</a>'; $tuoitrevn = laynoidung($nd, $batdau, $ketthuc); echo $tuoitrevn; ?>
Hàm str_replace() và preg_replace() là hai hàm khá quan trọng trong khi viết grab vì nhờ có hàm này mà chúng ta có thể dễ dàng thay đổi dữ liệu theo ý chúng ta muốn và quan trọng hơn cả là áp dụng rất nhiều trong việc grab các link! như các bạn biết, grab là hình thức lấy dữ liệu từ trang khác về trang mình nên sẽ có 1 số thứ chúng ta không vừa ý (chẳng hạn màu sắc, hình ảnh, nội dung ...) muốn edit theo ý mình thì sao đây.
Chuyện nhỏ, đó là chúng ta sử dụng hàm str_replace() Ví dụ luôn về cách sử dụng hàm str_replace
3. Viết link ngắn gọnPHP:<?php //ví dụ đổi chữ "tuoitrevn" thành "tuoitre" $tencandoi = str_replace('tuoitrevn', 'tuoitre', $tencandoi); ?>
Vì thế khi chúng ta grab về host mình, nếu chúng ta click vào link đó thì lập tức lỗi 404 not found sẽ xuất hiện, đơn giản vì khi viết tắt như thế nó sẽ tự động hiểuHTML:<a href="phần viết tắt">phần viết tắt</a>
Mà cái phần viết tắt đó (chẳng hạn là 1 tên thư mục) nó không hề tồn tại trên máy chủ của mình mà nó lại hiểu là của mình thì chắc chắn sẽ errorHTML:<a href="http://domain/phần viết tắt">phần viết tắt</a>
Cách giải quyết đó là dùng hàm str_replace kết hợp với chức năng $_GET['vd'] để biến đổi nó cho phù hợp, tránh bị error khi click link, xem lại code vd hoàn chỉnh ở trên. Chúng ta sẽ tiến hành thêm các chức năng vào như sau
Ví dụ: trang chúng ta grab có 1 link như sau
Để không bị lỗi nữa thì hãy tiến hành làm như sau (cái này có thể áp dụng cho nhiều link)HTML:<a href="game hay">game hay</a>
PHP:<?php include 'func.php'; $canlay = grab_link('http://trang cần lấy'.$_GET['link']); //tao bien chua nd bat dau $batdau = '<html><body>day la vd'; //tao bien chua nd ket thuc $ketthuc = '</html></body>day la vd'; $tuoitrevn = laynoidung($canlay, $batdau, $ketthuc); //sua link cho no ve trang cua minh $tuoitrevn = str_replace('<a href="gamehay">', '<a href="?link=nhachot">', $tuoitrevn); echo $tuoitrevn; ?>
PHP:<?php $duongdan = $_GET['d']; $page = $_GET['page']; $url= 'http://waptruyen.com/article.php?id='.$duongdan.'&page='$page'; $source = grab_link($url);
Khi ta replaceHTML:<a href="news/***">
HTML:<a href="news/'
Chú ý đoạnPHP:<title>tiêu đề grab</title>code css và phần head nhét vào đây nhé</head> <body> <?php include'func.php'; $duongdan = $_GET['tuoitrevn']; $url= "http://www.bum.vn/news".$duongdan.""; $source = grab_link($url); $batdau = '<div class="body">'; $ketthuc = '<div class="footer">'; $tuoitrevn = laynoidung($source, $batdau, $ketthuc); $tuoitrevn = str_replace('<a href="/news','<a href="?tuoitrevn=',$tuoitrevn); echo $tuoitrevn; ?>
nhé GuestPHP:$_GET