공고 알림봇 만들기 (11편·완결) — 봇이 알려준 공고로 이사를 검토했습니다

결론부터: 45일 동안 공고 2,756건을 수집해 필요한 것만 알림으로 받았습니다. 그중 한 건이 제 주거 계획을 실제로 검토하게 만들었고, 저는 그 공고에 신청하지 않기로 했습니다. 그런데도 이 봇은 제 값을 했습니다.

지난 편 → 10편 — Reddit이 API를 막아서 RSS로 우회했습니다

그날 폰이 울렸습니다

7월 29일 저녁 여섯 시 십팔 분. 봇이 LH 공고 목록을 가져와 신규 열 건을 알렸습니다. 그중 하나가 이거였어요.

[lh] 의정부지역 10년 공공임대주택 예비입주자모집 공고(무순위)

버튼을 눌러 공고 페이지로 들어갔고, 공고문 PDF 네 개를 받았습니다. 그리고 그걸 놓고 공공임대가 뭔지부터 따져봤어요. 저는 그때 10년 공공임대와 국민임대의 차이도 몰랐습니다.

알림에서 분석 착수까지 36분이 걸렸습니다.

접수 13일 전이었습니다

여기가 중요합니다. 그 공고의 접수기간은 8월 11일부터 12일까지, 이틀뿐이었어요.

제가 손으로 찾고 있었다면 어땠을까요. 1편에서 말한 대로 저는 사이트를 매주 순회했습니다. 잘해야 주 1회고, 바쁘면 건너뛰었어요. 이틀짜리 접수 창을 놓칠 확률이 꽤 높았습니다.

봇은 그걸 접수 13일 전에 가져왔습니다. 급하게 결정하지 않을 시간을 확보한 거죠.

그리고 신청하지 않기로 했습니다

며칠 더 들여다보고 나서, 저는 접수하지 않기로 결정했습니다.

이 글을 "봇 덕분에 집을 구했습니다"로 끝내면 좋았겠지만 사실이 아닙니다. 봇은 제게 집을 주지 않았어요.

대신 이걸 줬습니다.

봇이 없었다면봇이 있었더니
그 공고를몰랐을 수 있음접수 13일 전에 알았음
판단 시간없거나 촉박열흘 넘게
결정못 함안 하기로 결정

"모르고 지나간 것"과 "알고 안 한 것"은 다릅니다. 결과는 똑같이 "그 집에 안 살게 됐다"인데, 전자는 선택이 아니고 후자는 선택이에요.

알림봇의 값어치가 여기 있었습니다. 결정을 대신해주는 게 아니라, 결정할 재료를 제때 손에 쥐게 해주는 것.

45일 동안 이만큼 돌았습니다

숫자로 정리하면 이렇습니다.

항목
가동 기간45일 (6/20~8/4)
수집 소스7종
누적 수집2,756건
중복 판별 키2,757개 / 504KB
로그31만 줄
재시작48회 (PC 켤 때마다)

소스별로는 기업마당이 1,746건으로 압도적이고, LH·든든전세가 각 300건 안팎입니다.

지역 필터를 붙인 뒤로는 알림이 이렇게 줄었어요.

신규 139건 → 알림 57건 / 차단 82건

수집은 다 하고 알림만 거르는 구조입니다. 차단된 82건도 파일에 남아 있어서, 나중에 다른 지역을 찾고 싶으면 꺼내볼 수 있어요.

시리즈를 쓰면서 알게 된 것

열한 편을 쓰는 동안 예상 못 한 게 있었습니다. 같은 종류의 고장이 세 번 나왔어요.

무엇이어떻게
6편든든전세 10건제목이 겹쳐 조용히 사라짐
9편아이디어 76건로컬 모델이 꺼져 있어 조용히 탈락
10편서브레딧 4개호출 제한에 걸려 조용히 유실

셋 다 봇이 죽지 않았습니다. 계속 돌고, 알림은 오고, 로그엔 경고만 찍혔어요. 그래서 몰랐습니다.

고장은 시끄럽게 나야 고쳐집니다. 조용히 절반만 죽는 상태가 가장 위험했어요. 10편의 서브레딧 문제는 블로그를 쓰려고 로그를 세다가 처음 발견했습니다. 두 달 넘게 모르고 있었던 거죠.

이게 이 시리즈를 쓴 부수 효과였습니다. 글로 정리하려면 숫자를 세야 하고, 세면 실태가 드러납니다.

아직 안 고친 것들

완성됐다고 쓰고 싶지만 그것도 사실이 아닙니다. 지금 알고도 안 고친 게 이만큼 남아 있어요.

  • 든든전세 필드명 오타 하나 때문에 10건이 계속 유실
  • Reddit 서브레딧 4개가 여전히 막혀 있음
  • LH API가 요즘 타임아웃을 자주 냅니다. 재시도 로직이 없어요
  • 클라우드에 안 올려서 PC를 끄면 멈춥니다

급한 것부터 하다 보니 밀렸습니다. 그런데 이게 나쁘지만은 않다고 생각해요. 본업이 도는 동안 곁가지를 미루는 것은 1인 개발에서 어쩔 수 없는 선택이고, 적어놨으니 잊지는 않습니다.

정리 — 만들 만했나

돌아보면 이 봇은 작은 도구입니다. 새로운 기술은 하나도 없어요. API를 부르고, 본 것을 기억하고, 새 것만 알리는 게 전부입니다.

그런데 45일 동안 하루도 안 빠지고 돌았고, 제가 몰랐을 선택지를 하나 손에 쥐게 해줬습니다. 그거면 충분히 남는 장사였어요.

시작이 이랬습니다 — "공고를 손으로 찾다 지쳤다." 그 불편 하나가 열한 편짜리 삽질이 됐고, 지금은 폰이 알려줍니다.

내가 불편한 것을 내가 고친다. 이 시리즈가 결국 하고 싶었던 말은 그것뿐입니다. 읽어주셔서 고맙습니다.


이 시리즈 전체

  1. 손으로 찾다 지쳤습니다
  2. 인증키가 필요 없는 공공 API도 있습니다
  3. 목록에 없는 API를 직접 찾아냈습니다
  4. API마다 응답 구조가 달랐습니다
  5. 같은 공고가 계속 왔습니다
  6. 한 공고가 일곱 번 올 뻔했습니다
  7. 텔레그램 봇 인라인 키보드로 버튼을 달았습니다
  8. 윈도우 작업 스케줄러로 파이썬 봇을 자동 실행했습니다
  9. LM Studio 로컬 LLM으로 수집 결과를 걸렀습니다
  10. Reddit이 API를 막아서 RSS로 우회했습니다
  11. 봇이 알려준 공고로 이사를 검토했습니다 (이 글)

(이전 편: 10편 — Reddit이 API를 막아서 RSS로 우회했습니다)

댓글