Google Apps Script:
Tải về một trang web

Cách thực hiện:

Trong Google Apps Script, dịch vụ UrlFetchApp là yếu tố then chốt để tải nội dung web. Dưới đây là hướng dẫn từng bước và một ví dụ đơn giản minh họa cách lấy và ghi nhật ký nội dung HTML của một trang web:

  1. Thao tác lấy dữ liệu cơ bản:
function downloadWebPage() {
  var url = "http://example.com";
  var response = UrlFetchApp.fetch(url);
  var content = response.getContentText();
  Logger.log(content);
}
  • Đoạn mã này lấy nội dung HTML của example.com và ghi nhật ký. Đây là minh chứng đơn giản về việc lấy nguồn của một trang web mà không cần bất kỳ thông số bổ sung nào.
  1. Xử lý Chuyển hướng và HTTPS:

Đối với HTTPS hoặc xử lý chuyển hướng, mã code vẫn gần như không thay đổi, nhưng cần xem xét triển khai xử lý lỗi hoặc tùy chọn cụ thể cho việc chuyển hướng:

function downloadSecureWebPage() {
  var options = {
    'followRedirects': true, // Tự động theo dõi chuyển hướng
    'muteHttpExceptions': true // Tắt âm thanh các ngoại lệ có thể xảy ra để xử lý một cách nhẹ nhàng
  };
  
  var url = "https://example.com";
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}
  1. Giới hạn Tốc độ và Bảng Quy định:

Hãy lưu ý đến bảng quy định của Google Apps Script; việc sử dụng nặng có thể đòi hỏi xử lý lỗi cho giới hạn tốc độ.

Tìm hiểu Sâu

Lịch sử, việc tải và thao tác nội dung web bắt đầu với các yêu cầu HTTP đơn giản, phát triển đáng kể với sự xuất hiện của các ngôn ngữ kịch bản. Google Apps Script cho phép thực hiện như vậy một cách dễ dàng trong hệ sinh thái G Suite, tận dụng cơ sở hạ tầng vững chắc của Google. Dịch vụ UrlFetchApp là một phần cốt lõi của chức năng này, đóng gói các yêu cầu HTTP/S phức tạp vào một giao diện cấp ứng dụng đơn giản.

Mặc dù rất tiện lợi, Google Apps Script có thể không phải luôn là công cụ tốt nhất cho việc lấy dữ liệu web nặng hoặc khi yêu cầu xử lý phức tạp sau khi thu thập dữ liệu do giới hạn thời gian thực thi và bảng quy định do Google đặt ra. Trong những trường hợp như vậy, các khuôn khổ lấy dữ liệu web chuyên dụng hoặc các ngôn ngữ được thiết kế cho các thao tác I/O bất đồng bộ, như Node.js với các thư viện như Puppeteer hoặc Cheerio, có thể cung cấp nhiều tính linh hoạt và sức mạnh hơn.

Hơn nữa, mặc dù Google Apps Script là một công cụ tuyệt vời để tích hợp với các Dịch vụ Google (như Sheets, Docs và Drive) và thực hiện các thao tác lấy dữ liệu nhẹ, quan trọng là phải lưu ý đến những hạn chế của môi trường thực thi của nó. Đối với các nhiệm vụ nặng, hãy xem xét sử dụng Google Cloud Functions hoặc các dịch vụ cao cấp của Apps Script với các nguồn lực tính toán bên ngoài để xử lý.