Google Apps Script:
การดาวน์โหลดหน้าเว็บ
วิธีการ:
ใน Google Apps Script, บริการ UrlFetchApp
เป็นกุญแจสำคัญในการดาวน์โหลดเนื้อหาเว็บ ด้านล่างนี้คือคู่มือทีละขั้นตอนและตัวอย่างง่ายๆ ที่แสดงวิธีดึงและบันทึกเนื้อหา HTML ของหน้าเว็บ:
- การดำเนินการ Fetch พื้นฐาน:
function downloadWebPage() {
var url = "http://example.com";
var response = UrlFetchApp.fetch(url);
var content = response.getContentText();
Logger.log(content);
}
- โค้ดนี้ดึงเนื้อหา HTML ของ example.com และบันทึกมันลง log เป็นการสาธิตที่ตรงไปตรงมาในการเข้าถึงแหล่งข้อมูลของเว็บเพจโดยไม่มีพารามิเตอร์เพิ่มเติม
- การจัดการกับการ 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());
}
- ข้อจำกัดด้าน 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 กับทรัพยากรคอมพิวเตอร์ภายนอกสำหรับการประมวลผล