윤누리
윤누리
Admin
🧙 AI 위자드
🎻 루키 파트너
🌈 지피터스금손
🚀 SNS 챌린지 달성자

지피터스 게시판 크롤링해서 노션에 쌓기 - SNS 자동화 프로젝트 (1/3)

금과 보석이 가득한 상자

소개

  • 지피터스 게시판에 보석같은 게시글들이 많은데, 널리널리 알려지지 않고 있습니다.

  • 저의 작고 소중한 SNS에라도 지피터스 글을 공유해보고자 합니다.

진행 계획

이번에 한 것

  • 파이썬 코드로 지피터스 게시글을 크롤링한다

  • 클로드 API로 스레드에 올리기 좋은 형태로 요약해달라고 한다

  • 제목, 작성자, 게시일, 요약, 본문을 노션 데이터베이스에 쌓는다 (하루에 10개)

앞으로 할 것

  • 노션 url을 매일 카카오톡 나에게 보내기로 쏴준다 (될지 모르겠음) -> 알림 역할

  • 카톡으로 쏴지는 게시글을 읽고

  • 가장 마음에 드는 요약을 스레드에 업로드할 예정

    • 당장은 수동으로 할 계획인데 이 또한 자동화 시킬 수 있으면 좋겠음

진행 방법

크롤링 코드 짜달라고 하기

  • o1 preview에게 크롤링 코드를 짜달라고 했습니다.

[프롬프트 전문]

https://www.gpters.org/
이 게시판의 게시글을 크롤링해서 정리하는 파이썬 코드를 짜줘.

1. 해당 게시판의 홈에서 여기가 제목이고
<h2 class="font-medium text-heading-2xs text-content line-clamp-3">현미경 이미지 인식 코드</h2>

제목 부분을 눌러야 작성자, 게시일, 본문을 확인할 수 있어.

2. 여기가 작성자고
<a class="cursor-pointer rounded-base transition duration-200 focus:outline-none focus-visible:ring font-medium truncate block focus-visible:z-10" translate="no" title="사용자" href="/member/R2T5CWpePR">사용자</a>

3. 여기가 게시 시점이야
<time datetime="2024.11.11. 오후 6:38" title="2024.11.11. 오후 6:38">31분 전</time>

4. 여기는 본문이야.
<article class="prose"><h2>소개</h2><p>안녕하세요😊 저는 전자현미경을 사용해서 분석하는 업무의 일을 하고 있는데, 그러다보니 이미지를 분석할 일이 많이 있어요! (어떤 입자의 크기를 측정하거나, 두께를 측정하거나 등등...) 이제까지는 거의 이미지 안에 있는 입자 몇 개를 랜덤하게 선택해서 크기를 측정하거나 하는 방식으로 분석을 많이 해왔는데, 이번 스터디를 통해서 한번 자동화해보고자 합니다😢</p></blockquote></article>

5. 상단의 게시글 10개를 크롤링하는 파이썬 코드를 짜줘.

제목, 작성자, 게시일, 본문이 나오게 해줘.

그리고 터미널에서 크롤링 결과를 확인할 수 있게 해줘. 한국어로 대답해

그리고 나온 코드를 VS Code에 돌렸습니다. 물론 몇 번의 시행착오가 있었지만 (크롬 브라우저 버전 이슈 등...) 성공했습니다.


게시글 요약해달라고 하기

다음으로는 '본문' 내용을 클로드 API를 활용해서 요약해달라고 합니다.

크롤링 코드를 짰어.
여기서 추출되는 '본문' 내용을 스레드에 올릴 수 있게 요약할거야.

[요약 템플릿 및 가이드]
AI 활용 사례를 바로 이해할 수 있는 흥미로운 한 줄 요약
어떤 단계로 AI를 활용했는지 불릿 포인트로 작성
각 불릿 포인트 내용은 최대한 짧고 간결하게 작성
글 최하단에는 항상 'by 지피터스 {작성자이름}'

클로드 3.5 sonnet api를 쓸거야.

현재까지 작성한 코드는 다음과 같아.

[하단에 코드 붙여넣기]

마찬가지로 몇 번의 삽질과 함께 성공했습니다.


이걸 노션에 자동으로 업데이트 시키기

  • 크롤링된 게시글들을 자동으로 노션 업데이트 시키는게 가장 시간이 오래 걸렸습니다.

  • 순서대로 차근차근 설명해보겠습니다.

    1. 노션 개발자 포럼 로그인 (링크)

    2. 우측 상단에 integration 어쩌고 클릭

      모션 API로 구축을 시작하세요
    3. 새 API 통합 만들기

      AP
  1. 나의 워크플레이스와 연결하고 토큰 복사하기

    한국어가 포함된 웹사이트의 스크린샷
  2. 내 노션 페이지에서 '연결' 해주기

    한국어 앱 스크린샷
  3. 노션 데이터베이스 아이디 확인하기

노션 연결

  • 아까 노션 개발자페이지에서 복사한 토큰과, 데이터베이스 아이디를 주고 노션에 연동하는 코드를 크롤링 코드에 추가해달라고 합니다.

  • 중요! 노션 페이지를 그냥 만들면 안되고 꼭 안에 데이터베이스(표)를 만든 후 그 데이터베이스 아이디를 줘야 연동이 됩니다.


노션 연동 결과

한국사이트 스크린샷
  • 정말 화가 나게도 요약내용이 자꾸 html 태그 같은 내용이 추가되어서 나오는데요... 아무리 GPT, 클로드에게 물어봐도 해결이 안 되네요... -> 오늘 스터디 끝나고 해결해볼 예정

  • 아울러 본문 내용이 마크다운 문법이 적용되어 붙지 않고 이사하게 복붙되어서 읽기가 매우 힘듭니다. 이것도 고쳐 놓으려고 합니다.

결과와 배운 점

  • 앞서 언급했듯 가장 어려운 부분은 '노션 연동' 이었어요.

  • 기억할 점 🚀

    • 노션 개발자 포탈에서 꼭 integration 만들고나서

    • 노션 페이지에서 '연결' 시킨다음

    • 그냥 새 페이지 말고, 인라인 데이터베이스를 만든 다음 database id 가져오기!

계획은...

위에 작성했듯 카카오톡 자동 발송 및 SNS 업로드입니다. 할 수 있다!!

12
5개의 답글

👉 이 게시글도 읽어보세요