[뉴스-메일러] #1/? 프로그램 디자인하기

2023. 4. 1. 22:31IT

정해진 시간에 뉴스 사이트를 크롤링하고, 요약해서 등록된 이메일로 보내주는 프로그램을 제작해 보고자 한다. 좀 더 상세한 설명을 해 보자.

이 프로젝트는 RPA (Robotic Process Automation)의 한 분야가 될 것이다.

 

프로그램에 입력해야 할 값들은 다음과 같다.

처음엔 프로그램 상에서 프로그램 내에서 다음의 내용을 입력받아서 데이터베이스인 sqlite에 저장을 하려고 했다. 하지만 이럴 경우 처리해야 할 것들이 많다. 이 내용은 강좌로 사용할 예정이고 프로그램의 경험이 별로 없는 사람을 대상으로 할 것이기 때문에 쉬워야 한다는 생각이 들었다. RPA라는 단어에서 느껴지는 완전 자동화라기 보다는 최소한의 노력으로 최대의 효과를 얻는 것이 좋겠다는 생각이 들었다. 그래서 다음의 내용은 엑셀에 저장을 하려고 한다. 

1. 메일제목
2. 검색어
3. 주기 
4. 이메일 수신자들

 

프로그램이 동작 시나리오는 다음과 같이 생각을 하고 있다.

우선 한글 뉴스들이야 모두들 잘 찾아서 볼 것이니 제외하고, 미국을 지역으로 선택을 하고, 입력된 키워드로 검색을 한다. 보내는 뉴스가 겹치지 않도록 주기를 일정 주기마다 메일을 보낼 수 있도록 한다.

 

우선 주어진 검색어를 통해서 google에서 검색을 하고 검색 결과들을 가지고 온다. 여기서 사용될 기술은 WebCrawling이다. 기본 주기는 1 day로 매일 특정 시간을 정해서 메일을 보내는 것이다. 따라서 검색 시점에서 정확하게 하루 동안에 해당 검색어를 최신 순으로 검색을 하고 거기서 상위 5개를 정리한다. 메일 제목, 기사 링크 정도면 충분하다.

 

검색된 링크들을 각각 chatGPT에게 던져서 한글 요약을 해 달라고 해서 정리한다.

 

뉴스 제목, 링크, 한글 요약을 각각 등록된 사용자들에게 이메일로 전송을 한다. 

 

이메일 전송된 데이터와 입력된 값들은 모두 sqlite3에 저장을 해 둔다. 

데이터베이스나 엑셀에 저장을 할 수는 있으나, 향후 사용 용도가 명확치 않다. 따라서 데이터베이스에 저장을 하기 보다는 필요할 경우 이메일 보낸메일함에서 내용을 확인하는게 더 나을 수 있겠다는 생각을 한다.

 

어찌보면 간단한 프로그램이지만 받아보는 사람 입장에서는 매일 같은 시간에 내가 정한 키워드의 뉴스를 한글 요약본으로 받아 볼 수 있다는 장점이 있다. 이 내용을 간단하게 플로우 차트로 그려보면 다음과 같겠다. 

 

 

반응형

'IT' 카테고리의 다른 글

[pyside6] TrayIcon  (0) 2023.05.02
공짜 유튜브 프라임?  (0) 2023.04.10
AI 모델 생성 - Stable Diffusion  (0) 2023.03.30
Stable Diffusion  (0) 2023.03.27
[Python] Web Crawling - 다음 뉴스  (0) 2023.03.26