TOP 6 Cách Lấy Dữ Liệu Từ Website Khác Bằng PHP – BKNS.VN

Hiện nay, những nhà phát triển website có nhu cầu lấy dữ liệu nhiều. Bởi lấy dữ liệu từ website khác sẽ làm cho website của bạn phong phú hơn. Hiểu được điều này, trong bài viết sau đây BKNS sẽ gửi đến bạn các phương pháp lấy dữ liệu từ website khác bằng PHP để bạn tham khảo. Hãy cùng theo dõi nhé.

Các phương pháp lấy dữ liệu từ website khác bằng PHPDưới đây là 7 cách lấy dữ liệu từ website khác bằng PHP đơn thuần giúp bạn có một website đa dạng chủng loại hơn

1. Sử dụng thư viện snoopy

Bạn hoàn toàn có thể tải về snoopy ở website sau : https://sourceforge.net/projects/snoopy/

fetch($url); // đọc nội dung


$lines_string = $snoopy->results; // lưu theo các dòng


echo $lines_string; // hiển thị dữ liệu

?>

2. Sử dụng hàm fsockopen()

Hàm fsockopen() cũng là một cách để lấy dữ liệu từ website thông qua cổng 80:

3. Sử dụng cURL

Để lấy dữ liệu từ website khác bằng PHP với cách dùng cURL, bạn cần kích hoạt chức năng này ở tập tin php .ini. Tiếp theo, bạn bỏ chú thích dòng này extension = php_curl.dll. Đồng thời cài đặt cURL ở Linux. Trong trường hợp bạn dùng gói XAMPP ở Windows, bạn thực hiện theo những bước sau đây:

Bước 1: Mở 3 tập tin sau:

Bước 2: Dòng sau tập tin php.ini, bạn bỏ chú thích (;)

;extension=php_curl.dll

sang

extension=php_curl.dll

Bước 3: Bạn khởi động server Apache đồng thời sử dụng hàm phpinfo() để kiểm tra cURL đã được kích hoạt chưa. Dưới đây là ví dụ cách lấy dữ liệu từ website:

php

$url='https://final-blade.com';

$ch=curl_init();

$timeout=5; // thời gian đợi để lấy dữ liệu

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$lines_string=curl_exec($ch); // lấy nội dung theo URL

curl_close($ch); // giải phóng tài liệu sau khi lấy dữ liệu

echo $lines_string; // hiển thị dữ liệu

?

4. Sử dụng hàm close, fopen() và fread()

close, fopen() và fread() có chức năng là đóng tập tin (nguồn hiển thị), đọc nguồn dữ liệu và mở tập tin Bạn có thể lấy dữ liệu từ trang bkns như sau:

php

$url='https://final-blade.com';

$handle = fopen($url,"rb"); // mở tập tin  theo đường dẫn, "rb" có nghĩa là mở tập tin (đường dẫn) không phải là dạng văn bản.

$lines_string="";

// đọc nội dung

do{

    $data=fread($handle,1024);

    if(strlen($data)==0) {

        break;

    }

    $lines_string.=$data;

}while(true);

fclose($handle); // đóng nguồn dữ liệu sau khi đọc xong

echo $lines_string; // hiển thị dữ liệu kết quả

?

5. Sử dụng hàm file_get_contents()

Bạn hoàn toàn có thể sử dụng hàm file_get_contents ( ) nhằm mục đích mục tiêu lấy nội dung web. Đầu tiên bạn cần kích hoạt tính năng allow_url_fopen nằm trong tập tin php.ini, bằng cách thiết lập dòng allow_url_fopen = On. Lưu ý, nếu dòng này không được thiết lập thì 2 hàm fopen và file_get_contents sẽ không thao tác .

php

$url = 'https://final-blade.com';

$lines_string = file_get_contents($url);

echo htmlspecialchars($lines_string); // hiển thị dữ liệu

?

6. Sử dụng hàm file() trong PHP

Bạn hoàn toàn có thể sử dụng PHP trong HTML để thực thi tính năng lấy dữ liệu từ URL nào đó. Chẳng hạn lấy từ dữ liệu website bkns và hiển thị trên màn hình hiển thị như sau :

php

$url='https://final-blade.com'; // tạo biến url cần lấy

$lines_array=file($url); // dùng hàm file() lấy dữ liệu theo url

$lines_string=implode('',$lines_array); // chuyển dữ liệu lấy được kiểu mảng thành một biến string

echo $lines_string; // hiển thị dữ liệu

?

Vậy là bài viết trên, BKNS đã gửi đến bạn các cách lấy dữ liệu từ website khác bằng PHP. Hy vọng bài viết trên hữu ích đối với bạn. Nếu bạn còn bất cứ câu hỏi nào liên quan hãy để lại bình luận ở bên dưới để được hỗ trợ ngay nhé. Ngoài ra hãy theo dõi website https://final-blade.com/ để đọc được những bài viết hữu ích khác nữa nhé.