-
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();
댓글