Menu

Tự động hóa trích xuất dữ liệu từ website vào Google Sheets bằng Google Apps Script

Liên Yên Hiền 28/03/2026 06:37 222 lượt xem 1 trả lời

Chào mọi người,

Dạo gần đây mình có làm một dự án cần lấy dữ liệu từ một trang web về để phân tích. Thay vì copy-paste thủ công từng chút một, mình đã thử tìm hiểu và áp dụng Google Apps Script để tự động hóa việc này. Kết quả khá khả quan nên muốn chia sẻ lại với anh em trong diễn đàn.

Về cơ bản, chúng ta sẽ sử dụng hàm UrlFetchApp.fetch(url) để lấy nội dung HTML của trang web, sau đó dùng các phương thức xử lý chuỗi hoặc biểu thức chính quy (regex) để trích xuất thông tin cần thiết. Cuối cùng, ghi dữ liệu đó vào một Google Sheet.

Ví dụ đơn giản, nếu muốn lấy tiêu đề của một trang web, bạn có thể dùng đoạn code sau:

function getWebsiteTitle() { 
  var url = 'https://www.example.com'; // Thay bằng URL bạn muốn lấy dữ liệu 
  try { 
    var response = UrlFetchApp.fetch(url); 
    var htmlContent = response.getContentText(); 
    
    // Sử dụng regex để tìm thẻ  
    var titleMatch = htmlContent.match(/<title>(.*?)<\/title>/i); 
    
    if (titleMatch && titleMatch[1]) { 
      Logger.log('Tiêu đề trang web: ' + titleMatch[1]); 
      // Ghi tiêu đề vào Sheet đầu tiên 
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; 
      sheet.getRange(1, 1).setValue(titleMatch[1]); 
    } else { 
      Logger.log('Không tìm thấy thẻ title.'); 
    } 
  } catch (e) { 
    Logger.log('Lỗi khi fetch URL: ' + e.toString()); 
  } 
}

Tất nhiên, việc trích xuất dữ liệu phức tạp hơn sẽ đòi hỏi bạn phải hiểu cấu trúc HTML của trang web và viết regex cho phù hợp. Tuy nhiên, đây là một bước khởi đầu tuyệt vời để tự động hóa nhiều tác vụ liên quan đến dữ liệu trên web mà không cần dùng đến các công cụ phức tạp khác.

Anh em nào đã từng làm hoặc có kinh nghiệm về mảng này thì chia sẻ thêm nhé!

1

Hay quá bạn ơi! Mình cũng đang vật lộn với việc lấy dữ liệu từ web về Excel mà cứ phải copy-paste mệt mỏi. Google Apps Script nghe có vẻ là giải pháp tuyệt vời.

Bạn có thể chia sẻ kỹ hơn về phần xử lý chuỗi hoặc regex để trích xuất dữ liệu không? Mình hơi "gà mờ" khoản này mà lại muốn làm được giống bạn.

Cảm ơn bạn đã chia sẻ nhé!

3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký