728x90
목표
스크래핑 한 구글시트 데이터를 슬랙 메시지로 보낼 것이다. 스크래핑은 구글시트 자체적으로 지원하는 IMPORTXML 함수를 사용해서 데이터를 가져왔다. Slack 메시지는 Slack의 webhook을 사용한다.
Appscript의 스케쥴러 기능을 활용하면 특정시간마다 스크래핑한 데이터를 전송하는 기능을 매우 간단하게 만들 수 있을 것으로 보인다.
구현
IMPORTXML의 두번째 인자는 Xpath 문법이다. 스크래핑 시 데이터를 가져오는 방식은 다양한데, 그중 하나가 Xpath다.
function sendSlackMessage() {
// Google sheet
const ss = SpreadsheetApp.getActiveSpreadsheet();
// Collect the data
const sourceSheet = ss.getSheetByName('headlines');
const sourceRange = sourceSheet.getRange('A2:A30');
const sourceVals = sourceRange.getValues(); // 2차 배열로 헤드라인 값들 반환
let msg = "*Reuters*\n";
// A2~A30 중 빈 셀은 제외하고 내용 추가
sourceVals.forEach(el => {
if(el[0].length > 1) {
msg += `- ${el}\n`
}
})
const url = <SLACK webhook URL>;
const params = {
method: "post",
contentType: "application/json",
muteHttpExceptions: true,
payload: JSON.stringify({
"text": msg
})
};
const sendMsg = UrlFetchApp.fetch(url, params)
var respCode = sendMsg.getResponseCode()
Logger.log(sendMsg)
Logger.log(respCode)
}
결과
728x90
'Research > Google products' 카테고리의 다른 글
shootingstar_howto_Appscript에서 보낸 요청을 local nest.js 서버에서 ngrok으로 수신하기 (0) | 2023.04.19 |
---|---|
AppsScript_특정 시간마다 Slack 메시지 보내기 (0) | 2023.04.19 |
GA4_Use Google Analytics to meet your business objectives (0) | 2022.11.20 |
GA4_Discover the Next Generation of Google Analytics (0) | 2022.11.20 |
Google analytics_도구 설명 (0) | 2022.06.18 |
댓글