2026 지방선거 데이터 보도
Local Election 2026 — Data Desk
지도에서 내 지역을 고르면 후보·여론조사·지난 선거 결과·관련 뉴스가 한 화면에. 선거관리위원회 공식 데이터를 매일 자동 수집해 보여주는 노컷뉴스 선거 페이지.
서비스 열기비공개 저장소
왜 만들었나
지방선거는 전국 단위 선거 중 가장 복잡합니다. 시·도지사, 시·군·구청장, 광역·기초의원, 교육감까지 한 사람이 7장 안팎의 투표용지를 받습니다. 그런데 뉴스는 대개 서울·경기 광역단체장 몇 곳의 여론조사에 집중됩니다. 독자가 사는 동네의 선거를 보여주는 페이지를 만들고 싶었습니다.
어떻게 동작하나
- 지도에서 고른다. 랜딩에서 시·도를 누르면 그 안의 시·군·구 지도로, 다시 누르면 선거구 상세로 내려갑니다.
- 공식 데이터만 쓴다. 여론조사는 중앙선거여론조사심의위원회(NESDC)에 등록된 조사만, 후보자는 중앙선관위 OpenAPI에서 가져옵니다. 조사 의뢰처·기관·표본·오차범위를 모든 그래프에 함께 표기합니다.
- 매일 새벽 스스로 갱신한다. GitHub Actions가 매일 06:00에 Python 스크립트를 돌려 새 여론조사 PDF를 파싱하고 JSON을 커밋합니다. 백엔드 서버가 없어서 선거 당일 트래픽에도 비용과 장애 걱정이 없었습니다.
- 선거 당일 밤에는 개표 현황을 15초 간격으로 폴링해 지도를 다시 칠했습니다.
배운 것
- 선거법상 선거일 6일 전부터는 여론조사 공표가 금지됩니다. 데이터 페이지에서는 날짜 하나가 법 위반 여부를 가르기 때문에, 공표 기간을 늘 의식하며 화면을 설계해야 했습니다.
- NESDC PDF는 조사마다 서식이 달라 자동 파싱이 종종 틀립니다. 파싱 결과에 출처 링크를 항상 붙여 독자와 데스크가 원문을 바로 확인하게 했습니다.
- 광주·전남이 전남광주통합특별시로 합쳐진 첫 선거였습니다. 지도 경계 데이터는 아직 분리돼 있어 렌더 시점에 병합하는 처리가 필요했습니다.