PDA

View Full Version : bạn xài cách nào để bóc - tách trang??



to@n
14-01-2011, 19:53
hiện nay có rất nhiều cách để bóc - tách thông tin từ 1 trang khác, mang về chèn vào trang của mình, nhưng mình đã thử rất nhiều mà hầu như ko hiệu quả lắm. có cái phù hợp yếu tố này thì mất yếu tố kia, quả thật mình rất nản trong vụ này:(...


vậy cho nên mình vào đây hỏi các bạn đi trước xem các bạn đã và đàng xài cách nào để "Bóc và tách" thông tin từ trang khác hiệu quả và ổn định nhất. xin các bạn chỉ giúp người đi sau như mình với! thank....^^


à cho hỏi 1 vấn đề nhỏ cũng lên quan tới việc bóc - tách trang, là đã bạn nào sử dụng bộ simplehtmldom để bóc - tách nội dung trang chưa??

hiện mình đang dùng nó, nhưng vấn đề mình gặp phải là nó chỉ hoạt động dc ở localhost, chứ khi upload lên host thật thì chúng ko hoạt động dc... vậy mọng bạn nào có kinh nghiệp xin giúp mình với!.....

happyface
14-01-2011, 20:47
bóc tách dữ liệu từ trang người khác là 1 việc làm rất phiêu vì web của bạn khi đó sẽ phải lệ thuộc vào những nguồn dữ liệu không ổn định, việc bóc tách cũng làm tiêu tốn khá nhiều xử lý của server.

trong trường hợp bắt buộc phải dùng chiêu này thì mình nghĩ sử dụng file_get_contents hoặc bắn curl để lấy dữ liệu html trả về rồi xử lý trên dữ liệu đó là cách đơn giản nhất.

simplehtmldom mình chưa dùng qua nhưng theo google thì nó yêu cầu php 5+, có thể server bạn sd php version thấp hơn nên không chạy

to@n
14-01-2011, 21:16
bạn có thể nói hộ mình cái file_get_contents cụ thể dc ko?.. ví như cách xài nó ý... có phải nó lấy toàn bộ nội dung trang, sau đó nó truyền về trang của mình?? bạn cho mình 1 vd nhỏ dc ko?... cảm ơn bạn!

happyface
14-01-2011, 21:29
um đúng rồi đó bạn! nó lấy toàn bộ code html của trang mình muốn lưu vào 1 biến string, bạn xử lý, bóc tách trên string đó, đơn giản quá phải ko?

bạn có thể vào đây http://php.net/manual/en/function.file-get-contents.php để xem chi tiết, bên dưới có mấy ví dụ cho bạn chạy thử

to@n
14-01-2011, 21:36
cảm ơn bạn lần nữa:x hiiiiiiiii:x :*********

binhbmt_12
14-01-2011, 22:04
Uppppppppppppppppppppppppppppppppppppppppppp

happyface
14-01-2011, 22:59
trang http://banxeoto.com mình cũng đang bóc tách cho phần news nè, các bạn xem vậy có được không?
web bạn sài wordpress mà bóc tách gì =)) họa chăng sài feed

dvseo
14-01-2011, 23:11
web bạn sài wordpress mà bóc tách gì =)) họa chăng sài feed

ai biết nè, thì cũng bóc về rồi tách ra, nhét vo website. Ko biết nên gọi nó là gì cho chính xác với công nghê :D . Nhưng đáp số cuối cùng ok hem?

to@n
15-01-2011, 09:27
trong trường host free khóa mất hàm file_get_content thì xài kiểu j nhỉ:(... ui lại vào ngõ cụt cho việc bóc - tách nội dung :((

happyface
15-01-2011, 12:54
dùng curl:

<?php
function curl_get_file_contents($URL)
{
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
curl_close($c);

if ($contents) return $contents;
else return FALSE;
}

echo curl_get_file_contents('http://google.com');
?>

dùng fopen:

<?php
$url = "http://google.com";

$fh = fopen($url, 'r');
$data = fread($fh, filesize($url));
fclose($fh);

echo $data;
?>

2 cách này ko đc nữa thì chắc chỉ có cách là tìm host khác thôi bạn à : )

to@n
15-01-2011, 14:32
tình hình là mình đã xài thử 2 cách của bạn happyface trên local. nhưng chúng đều ko dc:(....
cách 1 chúng hiện thị:
301 Moved
The document has moved here. dùng fopen:

và cách 2 chúng trả về:
Warning: filesize() [function.filesize]: stat failed for http://google.com in C:\xampp\htdocs\bocTach.php on line 31

Warning: fread() [function.fread]: Length parameter must be greater than 0 in C:\xampp\htdocs\bocTach.php on line 31
...

do cái host cùi pắp của mình đang bảo trì nên mình chưa thử up lên host dc... nhưng mình nghĩ local mà ko chạy dc thì chắc j host đã nhai nổi:(... bạn happy thử test lại xem dc ko:X thank bạn:*

phamhaucn
23-01-2011, 12:41
Dùng hàm file_get_content hay bị lỗi lắm, nên dùng cur_url để lấy nội dung của trang web.

Alex0511
23-01-2011, 18:49
Trang mình xài cURL, http://iphone.zoha.vn/news.html
Lấy tin từ vnexpess và pcw :)

to@n
23-01-2011, 19:26
trang của bạn cũng ổn đó nhỉ:x