지난 4월, 군생활을 하던 중 휴가를 나왔을 때 진행했던 토이 프로젝트다.
이 블로그에 내가 새 글을 올리면 새 글 알림을 주는 Python 프로젝트였는데,
처음 구현하고 싶었던건 내 블로그에 새 글이 올라오면 내 트위터에 자동으로 트윗을 남겨주는 것이었다.
하지만 트위터 개발자 API를 휴가 복귀가 임박해서 신청했고, 결론적으로는 해당 기능은 구현하지 못하였다.
따라서 급한대로 쉽게 챗 봇 API를 발급받을 수 있는 텔레그램 챗 봇 형태로 구현해놓고 부대에 복귀했었던 기억이 있다.
이번 8월, 전역 전 휴가를 나옴으로서 이 토이프로젝트에 새 숨을 불어넣어 줄 수 있는 여유가 생겨 다시금 잡아봤으며
진행 상황과 더불어 이 프로젝트를 진행하는 나의 고민과 삽질을 꾸준히 블로그에 정리하고자 한다.
텔레그램 챗 봇으로 구현했던 블로그 새 글 알림은 아래의 나의 gitHub 링크를 통해서 확인할 수 있다.
https://github.com/HarenKei/NewPostNoti
내가 사용한 Python 모듈은 다음과 같다.
- BeautifulSoup4 - 블로그를 파싱해오기 위해 사용
- Requests - BeautifulSoup4와 마찬가지로 블로그를 파싱하기 위해 사용
- Telegram - 텔레그램 챗봇을 이용하기 위해 사용
- OrderedDict - collections 모듈의 클래스로 데이터의 순서를 보장받기 이해 사용
각 모듈에 대한 사용법 등은 기회가 닿으면 따로 블로그에 정리해보도록 해야겠다.
이 블로그 알림은 다음과 같이 동작한다.
1. 내 블로그를 파싱해서 블로그의 최신 포스트 번호와 포스트 제목을 json 파일로 저장해둔다. (ExiNewPost.json)
2. 내 블로그를 다시 파싱해서 블로그의 최신 포스트 번호와 포스트 제목을 별도의 json 파일로 저장한다. (NewPost.json)
3. 두 json 파일을 비교해서 다르면 ExiNewPost.json을 NewPost.json의 내용으로 바꾸고, 알림을 보낸다.
1, 2 번의 동작들은 ssh 서버 위에서 crontab 명령어를 통해 주기적으로 파싱을 해오게 된다.
내가 변경하고 싶은 사항으로는 다음과 같은 것들이 있으며, 필요에 따라 빠질 수도 추가가 될 수도 있다.
- 기존의 텔레그램 챗 봇 알림 → 트위터 자동 트윗 봇 알림
- 코드를 조금 더 효율적으로 변경하기
- 봇의 활성화
그렇게 어렵지는 않은 작업이 될 것 같다는 생각이 든다.
'Project > Blog New Post Noti' 카테고리의 다른 글
[New Post Noti] 블로그를 파싱해보자. (0) | 2021.09.04 |
---|---|
[New Post Noti] Python으로 트윗을 작성하기 (2) | 2021.09.03 |
[New Post Noti] 파이썬 트위터 패키지 Tweepy (0) | 2021.09.03 |
[New Post Noti] 트위터 API를 사용해보자 (2) - 트위터 API 발급받기 (2) | 2021.09.01 |
[New Post Noti] 트위터 API를 사용해보자 (1) - 트위터 개발자 계정 신청하기 (6) | 2021.08.31 |