더보기
function getContent_(url) {
return UrlFetchApp.fetch(url).getContentText()
}
function scraper() {
const content = getContent_("https://news.daum.net/"), // 다음 뉴스 검색 URL
$ = Cheerio.load(content), // 크롤링을 위한 Cheerio 선언
daum_news = $('.list_newsissue > li').toArray(); // 다음 뉴스 메인기사 태그를 daum_news에 배열에 담아라
let sht = SpreadsheetApp.getActiveSheet(), // 현재시트를 sht로 선언
titles = []; // 최종 배열들을 담을 titles 배열 선언
daum_news.forEach((li) => { // daum_news 배열들은 순환
let title = $(li).find("div").last().find("a").text().trim(), // li 태그중 div 태그들 중 마지막 div태그의 a태그 속 text를
// 가져오는데 공백을 제거해라
category = $(li).find("div").last().find(".txt_category").text().trim();
// li태그 중 div태그중 마지막 div속 class가 txt_category인
// text를 가져오는데 공백을 제거해라
titles.push([category, title]); // titles 배열에 각 배열들을 인수로 추가해라
});
sht.getRange("a1").getDataRegion().clearContent(); // 기존 영역을 삭제
sht.getRange(1, 1, titles.length, titles[0].length).setValues(titles); // 셀에 출력해라
};
마치 크롤링을 처음 배우는것처럼 설레고 재미지다...
이제 트리거를 연결해서 텔레그램 챗봇이나 메일로 발송을 하면 더욱 멋질것 같다.
우리의 내일은 오늘보다 하나 더 나은 삶일것이다.
https://docs.google.com/spreadsheets/d/1JrG1fKobRWPW8sJm5O05S859ieT9UDZn-nUH7RNzl0g/edit?usp=sharing
'GAS' 카테고리의 다른 글
[GAS] 데이터유효성검사 [ newDataValidation ] (0) | 2024.03.14 |
---|---|
[GAS] sheets데이터를 html 문서를 작성해보자 (0) | 2023.04.19 |
[GAS] 중복없는 로또번호 만들기 (0) | 2023.04.17 |
[GAS] 시트 통합 && 필터링 (0) | 2023.04.04 |
[GAS] 시트통합 매크로 (0) | 2023.04.03 |
댓글