JavaScript:
Tải trang web

Cách thực hiện:

Dưới đây là cách nhanh chóng để tải một trang sử dụng Node.js với node-fetch:

const fetch = require('node-fetch'); // bạn có thể cần cài đặt cái này trước!

async function downloadPage(url) {
    try {
        const response = await fetch(url);
        const body = await response.text();
        console.log(body); // Xuất ra mã nguồn HTML của trang
    } catch (error) {
        console.error(error);
    }
}

downloadPage('https://example.com');

Kết quả mẫu:

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

Sâu hơn

Truyền thống, việc tải xuống một trang web được thực hiện với XMLHTTPRequest trong trình duyệt hoặc mô-đun http trong Node.js. Tuy nhiên, sau ES6, fetch API trở thành tiêu chuẩn hiện đại do cú pháp dễ sử dụng và bản chất dựa trên promise của nó.

Các lựa chọn khác bao gồm axios, một gói npm phổ biến, xử lý các yêu cầu với chức năng nhiều hơn một chút so với fetch gốc. Đối với các trường hợp sử dụng phức tạp, bạn có thể sử dụng puppeteer để thực sự render trang trong một trình duyệt không đầu, hữu ích cho việc xử lý nội dung được render bằng JavaScript.

Khi thực hiện việc tải trang, hãy chú ý đến các khía cạnh như tôn trọng robots.txt, xử lý User-Agent để tránh bị chặn, và quản lý việc xử lý bất đồng bộ cẩn thận để tránh các rủi ro tiềm ẩn với việc quá tải máy chủ hoặc điều kiện đua.

Xem Thêm