Hướng dẫn web scraping php curl - web cạo php curl

Hướng dẫn web scraping php curl - web cạo php curl

Đã đăng vào thg 2 28, 2017 11:49 SA 2 phút đọc 2 phút đọc

Hôm nay, mình sẽ giới thiệu với các bạn về việc lấy dữ liệu từ cách website khác bằng việc sử dụng thư viện trong php. Và thư viện mình giới thiệu hôm nay đó là thư viện PHP Simple HTML DOM ParserPHP 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. Nó hỗi trợ một số tính năng như 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. Nó hỗi trợ một số tính năng như

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

Cài đặt Để để tải thư viện này bạn có thể lên trang chủ của nó tại địa chỉ http://simplehtmldom.sourceforge.net/ để tải về. Sau khi có thư viện 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 dùng của một file. Để để tải thư viện này bạn có thể lên trang chủ của nó tại địa chỉ http://simplehtmldom.sourceforge.net/ để tải về. Sau khi có thư viện 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 dùng của một file.

$html = file_get_html('link của trang web');
echo $html;

Hiển thị tất cả các ảnh

$html = file_get_html('http://www.google.com/');
foreach($html->find('img') as $element) {
       echo '
'; }

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

$html = file_get_html('http://www.google.com/');
$noidung = $html->find('#ten_id',0);

Truyền số 0 vào đằng sau để 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ự.

Thực hành lấy dữ liệu qua ví dụ cụ thể. Ví dụ 1. Hiển thị toàn bộ nội dung trang web. Ví dụ 1. Hiển thị toàn bộ nội dung trang web.


Ví dụ 2. Lấy ảnh từ trang web trên

find('.block_thumb_slide_show',0)->outertext='';
    $html ->load($html ->save());
    $tieude = $html->find('.title_news',0);
    $noidung = $html->find('#article_content',0);
?>

plaintext?>

innertext?>

Kết luận Vừa rồi mình mới giới thiệu qua cho các bạn về thư viện PHP Simple HTML DOM Parser để lấy dự liệu từ các trang web khác về web của mình. Tham khảo https://code.tutsplus.com/tutorials/html-parsing-and-screen-scraping-with-the-simple-html-dom-library--net-11856 http://simplehtmldom.sourceforge.net/manual.htm Vừa rồi mình mới giới thiệu qua cho các bạn về thư viện PHP Simple HTML DOM Parser để lấy dự liệu từ các trang web khác về web của mình. Tham khảo https://code.tutsplus.com/tutorials/html-parsing-and-screen-scraping-with-the-simple-html-dom-library--net-11856 http://simplehtmldom.sourceforge.net/manual.htm

All rights reserved

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Tất cả chúng ta đã thử lấy dữ liệu từ một trang web theo nhiều cách. Trong bài viết này, chúng tôi sẽ tìm hiểu cách cạo web bằng cách sử dụng bot để trích xuất nội dung và dữ liệu từ một trang web. & NBSP;Scrape Data, Not Contentthis statement is for all the people who want to learn web scraping. cURL and web scraping are powerful tools that can be used to automate what would otherwise be somewhat long and tedious repetitive tasks. We should only scrape information, not full articles and content.

    Chúng tôi sẽ sử dụng PHP Curl để cạo một trang web, nó trông giống như một lỗi đánh máy để lại khóa Caps, nhưng đó thực sự là cách bạn viết nó. Curl là hệ thống được sử dụng để thực hiện các yêu cầu HTTP với PHP. Đó là cách gọi các trang web từ trong tập lệnh của bạn. The following example demonstrates the scraping of images from the article https://www.geeksforgeeks.org/matlab-data-types/ 

    Dữ liệu Scrape, không phải nội dung, câu lệnh này dành cho tất cả những người muốn học cào web. Curl và Scraping Web là những công cụ mạnh mẽ có thể được sử dụng để tự động hóa những gì sẽ có phần dài và các nhiệm vụ lặp đi lặp lại tẻ nhạt. Chúng ta chỉ nên cạo thông tin, không phải là bài viết và nội dung đầy đủ.

    Ví dụ: Ví dụ sau đây cho thấy việc quét hình ảnh từ bài viết https://www.geeksforgeek.org/matlab-data-types/ 

    curl_setopt($ch

    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    0

    curl_setopt($ch

    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    3

    PHP

    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    8$ch
    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    7

    $ch = curl_init();

    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    4
    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    5$ch
    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    7

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    1
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    22

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    1
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    5
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    6

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    7
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    8
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    9
    
    
    0

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    1
    
    
    2
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    3

    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    0

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    7
    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    4
    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    3
    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    4

    $html = file_get_html('http://www.google.com/');
    foreach($html->find('img') as $element) {
           echo '
    '; }
    7

    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    6
    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    7
    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    4
    find('.block_thumb_slide_show',0)->outertext='';
        $html ->load($html ->save());
        $tieude = $html->find('.title_news',0);
        $noidung = $html->find('#article_content',0);
    ?>
    

    plaintext?>

    innertext?>
    90 12

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    7
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    1 5
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    3

    7

    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    1 9
    $html = file_get_html('http://www.google.com/');
    $noidung = $html->find('#ten_id',0);
    
    3

    $ch1

    Output:

    Hướng dẫn web scraping php curl - web cạo php curl

    Web Scrape