공고 알림봇 만들기 (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일 동안 하루도 안 빠지고 돌았고, 제가 몰랐을 선택지를 하나 손에 쥐게 해줬습니다. 그거면 충분히 남는 장사였어요.
시작이 이랬습니다 — "공고를 손으로 찾다 지쳤다." 그 불편 하나가 열한 편짜리 삽질이 됐고, 지금은 폰이 알려줍니다.
내가 불편한 것을 내가 고친다. 이 시리즈가 결국 하고 싶었던 말은 그것뿐입니다. 읽어주셔서 고맙습니다.
이 시리즈 전체
- 손으로 찾다 지쳤습니다
- 인증키가 필요 없는 공공 API도 있습니다
- 목록에 없는 API를 직접 찾아냈습니다
- API마다 응답 구조가 달랐습니다
- 같은 공고가 계속 왔습니다
- 한 공고가 일곱 번 올 뻔했습니다
- 텔레그램 봇 인라인 키보드로 버튼을 달았습니다
- 윈도우 작업 스케줄러로 파이썬 봇을 자동 실행했습니다
- LM Studio 로컬 LLM으로 수집 결과를 걸렀습니다
- Reddit이 API를 막아서 RSS로 우회했습니다
- 봇이 알려준 공고로 이사를 검토했습니다 (이 글)
댓글
댓글 쓰기