Việc viết grab đơn giản hơn leech rất nhiều. Bài viết này sẽ hướng dẫn bạn viết grab đơn giản thôi, các trang thực tế sẽ khó hơn.
Đầu tiên cần có 2 file là chucnang.php và index.php (tùy nhé. tên gì cũng được).Ở file chucnang.php chèn nội dung này vào
<?php
function catnoidung($noidung, $start, $stop) {
$bd = strpos($noidung, $start);
$kt = strpos(substr($noidung, $bd), $stop) + $bd;
$content = substr($noidung, $bd, $kt - $bd);
return $content;
}
?>
Copy code
function catnoidung($noidung, $start, $stop) {
$bd = strpos($noidung, $start);
$kt = strpos(substr($noidung, $bd), $stop) + $bd;
$content = substr($noidung, $bd, $kt - $bd);
return $content;
}
?>
Copy code
Giả sử trang cần leech có url là http://tenmien.kr/index.html có nội dung như sau:
Đó chỉ là giả sử thôi. Không có trang nào nội dung đơn giản vậy đâu. Giờ giả sử như ta cần lấy nội dung trong thẻ <h1></h1>. Ta nhận thấy có duy nhất <h1> trong trang và duy nhất </h1> nên ta dùng được phương pháp này. Ta viết như sau vào index.php
<?php
//Mấy thứ trong đây là chú thích
//chèn chucnang
require_once('chucnang.php');
//diachitrang
$url = 'http://tenmien.kr/index.html';
//lấy nguồn html trang
$html = file_get_contents($url);
//chọn điểm bắt đầu cắt
$bd = '<h1>';
//chọn điểm kết thúc
$kt = '</h1>';
//cắt lấy nội dung trong h1
$nd = catnoidung($html,$bd,$kt);
//in nội dung ra màn hình
echo $nd;
Copy code
//Mấy thứ trong đây là chú thích
//chèn chucnang
require_once('chucnang.php');
//diachitrang
$url = 'http://tenmien.kr/index.html';
//lấy nguồn html trang
$html = file_get_contents($url);
//chọn điểm bắt đầu cắt
$bd = '<h1>';
//chọn điểm kết thúc
$kt = '</h1>';
//cắt lấy nội dung trong h1
$nd = catnoidung($html,$bd,$kt);
//in nội dung ra màn hình
echo $nd;
Copy code
Chạy thử index.php thì nó hiện
tiêu đề
Copy code
Copy code
Đó là nội dung trong thẻ h1 của trang.
Đây chỉ là mẩu ví dụ đơn giản thôi. Thực tế nếu ta muốn lấy nội dung trong <div></div> thì sẽ không dùng được phương pháp này vì cặp <div></div> phải là duy nhất thì mới được. Tham khảo bài viết sau.
Tags:
Johncms