100% 챗지를 통해 글코딩하고, 모르는 것도 챗지에게 물어봐서 해결하고 있습니다.

[1단계] 뉴스 제목 클리핑과 텔레그램 전송

지디넷뉴스와 에이아이타임스의 최신 기사를 매일 정해진 시간에 텔레그램에 받아 보고 싶어서 크롤링 방법을 찾아 챗지로 파이썬 코드를 짰습니다. 이 코드를 집에 놀고 있는 라즈베리파이에 올려 텔레그램으로 배달 받고 있었습니다.

2a57d477-d074-49e6-9630-26d138363d2e-image.png

하루에 3번 정해진 시간에 사이트에 올라온 최근 20개의 글을 텔레그램에서 볼 수 있게 해 놓았습니다. 그런데 필터링 없이 최근 20개 글을 처리하다 보니 중복된 기사도 많고 그래서 불편했네요. 그래서 개선을 했습니다.


[2단계] 크롤링 데이터를 디비에 저장하고, 중복되지 않은 것만 텔레그램에 전송

중복되지 않은 새로운 기사만 받으려면 목록과 비교를 해야하기 때문에 디지를 사용해야 합니다. 그런데 디비를 설치하고 하는 것도 매우 귀찮은 일이라 간단하게 사용할 수 있는 디비를 찾았습니다.

sqlite3라고 하는 파일 형식의 디비가 있다는 것을 알게되었고, 제가 사용하는 용도로는 차고 넘치기 때문에 이것을 파이썬 코드와 연동했습니다. 크롤링 결과를 디비에 저장하고, 중복되지 않은 것만 텔레그램에 전송하도록 했습니다.

이제 훨씬 깔끔하게 최신 뉴스를 받아 볼 수 있게 되었습니다.


[3단계] n8n(앤팔앤)으로 자동화 처리하는 단계(스터디 중)

최근에 앤팔앤이라고 하는 자동화 솔루션을 알게 되었고, 저렴이 서버에 설치하여 이리저리 만져보고 있습니다. 앤팔앤을 통해 여러 가지 작업을 하려면 어디선가 목록을 가지고 와야 하는데, sqlite3를 통해 데이터를 가지고 오려면 추가적인 백엔드 코딩을 챗지와 해야 합니다. 작업량이 너무 많아질 것 같네요.

그래서 구글 시트를 사용하기로 했습니다. 구글 시트는 그 자체로 디비의 역할을 할 수 있기 때문에 크롤링한 결과를 구글 시트에 자동으로 넣을 수만 있다면 앤팔앤을 가지고 놀 수 있는 시작점은 될 수 있겠더라고요.

챗지와 열심히 논의 끝에 성공했습니다. 이 과정을 간단하게 정리하면 아래와 같습니다.

  • 구글 클라우드 콘솔에서 구글 시트 관련 인증 과정을 진행해야 합니다. 그러면 사용할 수 있는 인증 파일을 json 형태로 내려받을 수 있습니다. 이것을 사용해야 합니다.
  • 저장용으로 사용할 구글 시트 1개 만든 후에 인증 파일 속에 있는 이메일 주소가 편집할 수 있도록 권한을 부여합니다.
  • 챗지에게 파이썬에서 크롤링한 결과를 디비에 저장하고, 중복되지 않는 기사만 구글 시트에 저장하도록 글코딩을 했습니다.
  • 파이썬 파일을 실행합니다. 구글 시트에 잘 저장 됩니다.
    2bc97bd2-62be-4558-9ee3-75bb454f3358-image.png
  • 앤팔엔에 구글 시트 노드를 붙여서 연동했습니다. 테스트하니 목록을 잘 불러옵니다.
    bae21033-47e4-472b-a594-b0202bcb775f-image.png

이제 이 데이터를 가지고 이것 저것 할 수 있는 기반은 만들었네요. 정말 재밌습니다. 시간 가는 줄 모르겠네요. 여러분들도 해보세요.