Thiết kế website PHP / MYSQL / MYSQLi

[PHP] Crawl (bóc tách) dữ liệu từ trang web khác

  • by mr.T 29/05/2020
  • 8,813

Bạn muốn get dữ liệu từ một trang web khác, copy nội dung, hình ảnh, thậm chí là cấu trúc của một trang web khác và đưa vào cơ sở dữ liệu trang web mình, hoặc đơn giản là show dữ liệu của ra trang web ra với một cấu trúc mới, thiết kế mới của trang web của chính các bạn! Hôm nay, Trung Trịnh .Com sẽ giới thiệu đến với các bạn một thư viện PHP hỗ trợ việc đó. Và thư viện mình giới thiệu hôm nay đó là thư viện PHP Simple HTML DOM Parser

PHP Simple HTML DOM Parser là một thư viện của PHP giúp chúng ta có thể lấy các thuộc tính của các thẻ HTML trong 1 website rất dễ dàng. Thư viện này có những ưu điểm vượt trội như sau:

- Hỗ trợ bóc tách dữ liệu theo từng id, class hoặc thẻ img, a, table, ...
- Code ngắn dễ học, dễ viết, dễ nhớ ...
- Khá nhẹ nhàng

Để sử dụng thư viện này, các bạn có thể tải về phiên bản mới nhất tại địa chỉ http://simplehtmldom.sourceforge.net/  hoặc link dự phòng do trungtrinh.com lưu trữ: tải php simple html dom parser

Sau khi có thư viện các bạn copy file simple_html_dom.php vào dự án của mình và include file đó vào file bạn muốn lấy dữ liệu để sử dụng. Các khác bạn có thể cài đặt nó thông qua composer. Sử dụng Thư viện này rất dễ sử dụng. Mình tìm hiểu qua một số tính năng của thư viện.

Đọc nội dung của một file:

$html = file_get_html('link trang gốc');
echo $html;

Hiển thị tất cả các ảnh của trang gốc:

$html = file_get_html('link trang gốc');
foreach($html->find('img') as $element) {
       echo '<img src="'.$element->src.'" /><br>';
}

Lấy nội dung từ một id cụ thể

$html = file_get_html('link trang gốc');
$noidung = $html->find('#ten_id',0);

Số 0 vào đằng sau là để lấy ra nội dung đầu tiên trong id của mảng. Các trường hợp lấy theo class, table, p ... cũng lấy tương tự.

Trên đây là ví dụ cơ bản. Thư viện có thể dùng để áp dụng cho một website get dữ liệu và phát triển nghiệm túc, các bạn cần phải tìm hiểu thêm, ở đây là hướng dẫn cụ thể: http://simplehtmldom.sourceforge.net/manual.htm 


Bạn đang xem bài viết tại chuyên mục PHP / MYSQL / MYSQLi của Website Trung Trịnh. Nếu thấy bổ ích, hãy bấm like và share để chia sẻ cho mọi người cùng xem nhé!

BÌNH LUẬN

BÀI VIẾT KHÁC