-
RSS 주소
티스토리의 RSS 주소는
https://블로그주소/rss 입니다.
예시로 제 블로그는 다음과 같습니다.https://answn.tistory.com/rss
RSS 설정
티스토리 블로그 관리 페이지로 갑니다.
좌측 하단 메뉴에서 관리 > 블로그로 갑니다.
내려보시면 기타 설정이 있습니다.
여기서 공개 범위는 안건드셔도 되고
공개될 포스팅 수는 5 ~ 50개중에
용도에 따라 선택하시면 됩니다.
설정을 다 하셨으면 '변경사항 저장'Node.js 모듈 설치
1. HTTP 비동기 요청
npm install axios
2. XML을 Json으로 변환
npm install xml2js
코드로 구현
const axios = require('axios').default;const xml2js = require("xml2js");/*** 티스토리 RSS 가져오기* @param {String} rssURL* @returns {{* title: String,* items: Array.<{* title: String[],* link: String[],* description: String[],* category: String[],* author: String[],* coments: String[],* pubDate: String[]* }>}} Json*/async function getTistoryRSS(rssURL) {const rssXML = (await axios.get(rssURL)).data;const jsonData = await xml2js.parseStringPromise(rssXML);const rssObject = jsonData.rss.channel[0];return {"title": rssObject.title[0],"items": rssObject.item};}위 함수는 다음과 같은 구조로 반환합니다.
{"title": "블로그 이름","items": [{"title": ["글 제목"],"link": ["글 주소"],"description": ["글 내용"],"author": ["글쓴이"],"coments": ["댓글 주소"],"pubDate": ["글 작성 시간"]}]}예제
async function main() {try {const rss = await getTistoryRSS("https://answn.tistory.com/rss");const recentTitle = rss.items[0].title[0];console.log("가장 최근 글 제목", recentTitle);}catch (err) {console.error(err);}}main();