• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Admin

Well-Known Member
Staff member
Administrator
File_get_contents là hàm có chức năng lấy nội dung 1 file. Tất nhiên đối với HTML thì nội dung file đó chính là mã nguồn của nó.
Vì vậy, ta sẽ sử dụng file_get_contents để grab. Tuy tốc độ chậm nhưng phù hợp với newbie :D
---Bắt đầu---
---__________---
Mình sẽ lấy ví dụ khi grab trang này
Flash на Siza.US - Khá phức tạp nhưng vì thế mà nảy sinh nhiều vấn đề :D
1. Lấy và tách nội dung cần lấy
Ta dùng cú pháp sau để lấy nội dung file
file_get_contents('http://link.trang.can.lay');
ok. Thử xem nhé
PHP:
<?php 
$buidoi = file_get_contents('http://flash.mobik.ru'); 
//lấy nội dung gán vào biến
echo $buidoi; 
?>
>>>Test code mới được đọc tiếp
....
....
OK, Nhưng nó in ra toàn trang. Có những nội dung ta không cần đến :D, Ví dụ như cái head, foot, cái quảng cáo kìa. Để giải quyết vấn đề, đầu tiên ta phải viewsource xem phần ta cần lấy bắt đầu chỗ nào, kết thúc chỗ nào (nên chọn 1 thẻ Html nào đó cố định và duy nhất)
Xong ta dùng cú pháp
preg_match("/bắt đầu(.*?)kết thúc/",nội_dung,$mảng_gán_giá_trị);
ví dụ
PHP:
<?php 
$buidoi = file_get_contents('http://flash.mobik.ru'); 
preg_match("/<div class=\"menu_green_a\">(.*?)<\/div><div class=\"reclama\">/",$buidoi,$mang);
//Tách nội dung đưa vào mảng
echo $mang[1];
//Phần tử 1 trong bảng là nội dung cần lấy
?>
~> TIP: Chắc bạn cũng nhận ra điều kì lạ và hơi rối mắt. Phần bắt đầu và kết thúc nếu có dấu /, ", [, ] thì phải thêm dấu \ vào trước
ok. Giờ bạn đã có thể lấy nội dung trang tùy thích rùi đó..
Nhưng... Vấn đề xảy ra là 404err ??
Tất cả sẽ được giải quyết ở phần sau..!
2. Sửa nội dung
Coi những cái cần sửa là cái bị hỏng. Cần được thay thế
Ta dùng hàm sau
str_replace('Bị hỏng','Thay thế','nội dung trang đã lấy được');
Ví dụ khi đã lấy được nội dung gán vào file
PHP:
$buidoi = str_replace('flash.mobik.ru','buidoi.net',$buidoi); 
//buidoi mới bằng buidoi cũ sau khi sửa link
Thế nhưng, viewsource coi nào, wap đó link như thế này
<a href="/?module=flash&category=4">
Họ không điền tên miền ? Đó cũng là thói quen bình thường của người code. Tên miền không cần thiết, nếu như ta sửa thế này
PHP:
$buidoi = str_replace('<a href="','<a href="http://flash.mobik.ru/',$buidoi);
> vào thử, Ok. Nhưng link lại dẫn sang wap khác, vậy thà copy source paste sang cho nhanh, grab chi cho mệt :(
>> Với việc xử lí bằng phương thức GET, chỉ với 1 file bạn có thể thâu tóm toàn bộ.
Phương thức Get như sau:
http://tenmien/file.php?get=abcxyz&buidoi=buidoi.net
như vậy, khi bạn vào link trên, thì
$_GET['get'] sẽ bằng phần màu đỏ, $_GET['buidoi'] sẽ là phần màu xanh.
>> Cái đằng sau dấu bằng luôn thay đổi, vì thế mà giá trị của biến $_GET['tên_get'] luôn thay đổi. Lợi dụng đặc điểm này để grab nhé
 

Facebook Comments

Similar threads

New posts New threads New resources

Back
Top