การดาวน์โหลดหน้าเว็บ

Google Apps Script:
การดาวน์โหลดหน้าเว็บ

วิธีการ:

ใน Google Apps Script, บริการ UrlFetchApp เป็นกุญแจสำคัญในการดาวน์โหลดเนื้อหาเว็บ ด้านล่างนี้คือคู่มือทีละขั้นตอนและตัวอย่างง่ายๆ ที่แสดงวิธีดึงและบันทึกเนื้อหา HTML ของหน้าเว็บ:

  1. การดำเนินการ Fetch พื้นฐาน:
function downloadWebPage() {
  var url = "http://example.com";
  var response = UrlFetchApp.fetch(url);
  var content = response.getContentText();
  Logger.log(content);
}
  • โค้ดนี้ดึงเนื้อหา HTML ของ example.com และบันทึกมันลง log เป็นการสาธิตที่ตรงไปตรงมาในการเข้าถึงแหล่งข้อมูลของเว็บเพจโดยไม่มีพารามิเตอร์เพิ่มเติม
  1. การจัดการกับการ Redirect และ HTTPS:

สำหรับ HTTPS หรือการจัดการกับ redirects, โค้ดยังคงคล้ายกันมาก, แต่พิจารณาการใช้งานการจัดการข้อผิดพลาดหรือตัวเลือกเฉพาะสำหรับ redirects:

function downloadSecureWebPage() {
  var options = {
    'followRedirects': true, // ติดตาม redirects โดยอัตโนมัติ
    'muteHttpExceptions': true // ปิดเสียงข้อยกเว้นที่เป็นไปได้เพื่อจัดการกับมันอย่างสง่างาม
  };
  
  var url = "https://example.com";
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}
  1. ข้อจำกัดด้าน Rate Limits และ Quotas:

ต้องระวังโควต้าของ Google Apps Script; การใช้งานหนักอาจต้องมีการจัดการข้อผิดพลาดสำหรับข้อจำกัดด้านอัตราการใช้งาน

การศึกษาลึก

ในอดีต, การดาวน์โหลดและจัดการเนื้อหาเว็บเริ่มต้นด้วยการร้องขอ HTTP แบบง่าย, และกลายเป็นสิ่งที่พัฒนาอย่างมากกับการมาถึงของภาษาสคริปต์ Google Apps Script ทำให้การดำเนินการเช่นนี้ภายในระบบนิเวศ G Suite เป็นสิ่งที่ง่ายดาย, ใช้ประโยชน์จากโครงสร้างพื้นฐานที่แข็งแกร่งของ Google บริการ UrlFetchApp เป็นส่วนกลางของฟังก์ชันนี้, อำนวยความสะดวกในการร้องขอ HTTP/S ที่ซับซ้อนเป็นอินเตอร์เฟซระดับแอพพลิเคชันที่ง่ายขึ้น

แม้ว่าจะสะดวก, แต่ Google Apps Script อาจไม่เสมอไปเป็นเครื่องมือที่ดีที่สุดสำหรับการคัดลอกข้อมูลมากหนักๆ หรือเมื่อต้องการการประมวลผลข้อมูลหลังการดาวน์โหลดที่ซับซ้อนเนื่องจากมีการจำกัดเวลาการทำงานและโควต้าของ Google ในกรณีเช่นนั้น, กรอบการทำงานการคัดลอกข้อมูลเฉพาะหรือภาษาที่ออกแบบมาสำหรับการดำเนินการ I/O แบบอื่นๆ เช่น Node.js กับไลบรารีอย่าง Puppeteer หรือ Cheerio อาจเสนอความยืดหยุ่นและพลังการทำงานมากขึ้น

นอกจากนี้, ในขณะที่ Google Apps Script เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการรวมกับบริการ Google (เช่น Sheets, Docs และ Drive) และดำเนินการดึงข้อมูลที่เบาบาง, มันสำคัญที่จะต้องจำข้อจำกัดของสภาพแวดล้อมการดำเนินการไว้ สำหรับงานที่หนักหน่วง, ให้พิจารณาใช้ Google Cloud Functions หรือบริการขั้นสูงของ Apps Script กับทรัพยากรคอมพิวเตอร์ภายนอกสำหรับการประมวลผล