【Google教學】如何用GoogleAppsScript爬取網頁看youtube的所有留言(使用chatgpt的作法)
蔡明和
有些人會在youtube影片的留言來抽獎的作法,那我們怎麼去把某一篇影片的留言都抓到google試算表,我們把這個問題拿去問AI(chatgpt),它提供我們程式碼及作法。
1.申請YouTube Data API 來獲取留言 2.查看要查詢的youtube影片ID 3.修改程式碼並執行
程式碼: function getYouTubeComments() { var apiKey = "YOUR_API_KEY"; // 請填入你的 YouTube API Key var videoId = "YOUR_VIDEO_ID"; // 影片 ID var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); sheet.clear(); // 清空試算表 sheet.appendRow(["作者", "留言", "發佈時間 (台灣)", "喜歡數"]); // 更新標題
var nextPageToken = ""; var maxResults = 100;
do { var url = "https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=" + videoId + "&key=" + apiKey + "&maxResults=" + maxResults + "&pageToken=" + nextPageToken;
var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
var json = JSON.parse(response.getContentText());
if (json.items) {
json.items.forEach(function(item) {
var snippet = item.snippet.topLevelComment.snippet;
var author = snippet.authorDisplayName;
var comment = snippet.textDisplay;
var publishedAt = snippet.publishedAt; // 原始 UTC 時間
var likeCount = snippet.likeCount;
// 轉換 UTC 時間為台灣時間 (UTC+8)
var taiwanTime = convertToTaiwanTime(publishedAt);
sheet.appendRow([author, comment, taiwanTime, likeCount]);
});
}
nextPageToken = json.nextPageToken || "";
} while (nextPageToken); }
// 轉換 UTC 時間到台灣時間 (UTC+8) function convertToTaiwanTime(utcTime) { var date = new Date(utcTime); // 解析 ISO 時間字串 date.setHours(date.getHours() + 8); // 加 8 小時變成台灣時間 return date.toISOString().replace("T", " ").split(".")[0]; // 格式化輸出 YYYY-MM-DD HH:mm:ss }
74487264 Bytes