프로젝트

일반

사용자정보

Actions

새기능 #5801

완료됨

신유형개방 권리확인 사이트 수집

이호영이(가) 약 한달 전에 추가함. 19일 전에 수정됨.

상태:
완료
우선순위:
보통
담당자:
시작시간:
2026/07/10
완료기한:
진척도:

100%

추정시간:
(합계: 0.00 h)
소요 시간:
(합계: 4.00 h)
난이도:

설명

개요

「2026 신유형개방 권리확인 및 처리」 대상 기관 홈페이지의 게시판 게시물을 Python으로 전건 크롤링하여 제출 양식(엑셀)에 자동 기재하는 작업. 기관별로 게시판 엔진(플랫폼)이 모두 달라 사이트마다 목록 구조·페이징 방식·상세 URL 규칙을 개별 분석했다.

사이트별 상세 분석 내용과 코드는 하위 일감에 각각 정리했다.


전체 통계

5개 사이트 / 11개 게시판 / 총 4,591건 (2003-01-11 ~ 2026-07-20)

# 사이트 게시판 건수 기간 작업일
1 전북경찰청 보도자료 410 2010-01-06 ~ 2026-07-07 07-10
2 중앙경찰학교 공지사항 505 2006-06-05 ~ 2026-07-06 07-10
3 광주광역시경찰청 보도자료 630 2017-01-02 ~ 2026-07-10 07-15
4 경기북부경찰청 보도자료 799 2016-04-11 ~ 2026-07-20 07-21
5 KRIHS국토연구원 보도자료 1,034 2003-01-11 ~ 2026-07-14 07-21
5 KRIHS국토연구원 국토용어사전 807 2009-12-18 ~ 2024-12-27 07-21
5 KRIHS국토연구원 우수보고서 소개 276 2014-10-11 ~ 2026-07-01 07-21
5 KRIHS국토연구원 지도로 보는 우리국토 77 2022-06-20 ~ 2025-04-21 07-21
5 KRIHS국토연구원 국토교육영상 40 2022-06-20 ~ 2024-02-01 07-21
5 KRIHS국토연구원 국토교육 워크북 8 2022-06-27 ~ 2024-02-27 07-21
5 KRIHS국토연구원 국토TED 5 2022-06-20 ~ 2022-06-27 07-21

제출 시트 기준 분류

구분 게시판 수 건수
권리확인 (9열 양식) 4 2,873
권리처리 (12열 양식) 7 1,718
합계 11 4,591

게시판 엔진별 분류

엔진 / 플랫폼 사이트 목록 페이징 상세 URL 키
eGovFrame 표준 게시판 광주광역시경찰청, 경기북부경찰청 pageIndex nttId
자체 board.police 전북경찰청 startPage dataSid
자체 BD_selectBbs 중앙경찰학교 q_currPage (q_rowPerPage로 일괄) q_bbscttSn
eZ .es 계열 (board/gallery) KRIHS국토연구원 nPage list_no
eZ 사전형 (bbsList.es) KRIHS국토연구원 pageIndex num

공통 수집 항목

제출 양식의 필수 항목에 맞춰 게시판마다 아래 4가지를 수집했다.

항목 수집 방법
E 게시물 제목 목록 <a> 텍스트. 목록에서 잘리면(..) 상세페이지에서 전체 제목 재취득
F 게시물 내용 URL 상세 URL (목록 URL 금지) — 게시물 고유키로 정규화해 생성
H 게시글 등록일 목록의 등록일 컬럼
G 저작물유형 공공누리 부착분만, 미부착은 공란

공통 사용 패키지

pip install openpyxl
패키지 버전 용도
Python 3.13.0 실행 환경
openpyxl 3.1.5 xlsx 읽기·쓰기, 셀 서식 복사, 하이퍼링크

표준 라이브러리만 사용: urllib.request / re / json / html / ssl / gzip / time / os / concurrent.futures

별도 HTTP·파서 라이브러리(requests, BeautifulSoup, Selenium)는 쓰지 않았다. 대상 게시판이 모두 정적 HTML 목록이라 urllib + 정규식으로 충분했고, 사내 PC에 추가 설치 없이 돌릴 수 있도록 의존성을 최소화했다.

공통 설계 규칙

  • 전건 수집 — 목록 페이지를 1페이지부터 끝까지 순회. 마지막 페이지는 페이징 링크의 최대값으로 판정하고, 파싱 결과가 0건이면 종료.
  • 중복 방지 — 게시물 고유키(nttId/dataSid/list_no 등)를 set으로 관리. 상단 고정 공지가 매 페이지 반복 노출되는 게시판 대응.
  • URL 정규화 — 목록 링크에 붙는 검색·페이지 파라미터(nPage, pageIndex, keyWord 등)를 제거하고 고유키만 남겨 재현 가능한 상세 URL을 생성.
  • 재시도 — 타임아웃/일시 오류 시 최대 3회 재시도(지수 백오프).
  • 엑셀 반영 — 템플릿 서식을 copy(cell._style)로 그대로 승계, F열은 cell.hyperlink로 링크 활성화.

검수

  • 수집 건수 ↔ 사이트 게시판 표기 건수 대조
  • 상세 URL 중복 0건 / 등록일 누락 0건 확인
  • 사이트별 무작위 표본을 실제 URL로 재요청해 응답 HTML에 제목이 포함되는지 자동 대조 (오늘 작업분 24건 표본 불일치 0건)

하위 일감 8 (모두 완료8 건 완료)

새기능 #5802: [신유형개방 권리확인] 전북경찰청 보도자료 수집 (410건)완료이호영2026/07/10

Actions
새기능 #5803: [신유형개방 권리확인] 중앙경찰학교 공지사항 수집 (505건)완료이호영2026/07/10

Actions
새기능 #5804: [신유형개방 권리확인] 광주광역시경찰청 보도자료 수집 (630건)완료이호영2026/07/15

Actions
새기능 #5805: [신유형개방 권리확인] 경기북부경찰청 보도자료 수집 (799건)완료이호영2026/07/21

Actions
새기능 #5806: [신유형개방 권리확인] KRIHS국토연구원 7개 게시판 수집 (2,247건)완료이호영2026/07/21

Actions
새기능 #5853: [신유형개방 권리확인] 사이트 장애 5개 기관 재크롤링 및 URL 재작성 (8,722건)완료이호영2026/08/04

Actions
새기능 #5857: [신유형개방 권리확인] 한국동서발전 보도자료 수집 (3,076건)완료이호영2026/08/06

Actions
새기능 #5867: [신유형개방 권리확인] 경찰박물관 기증자·수집처 추가 수집 (806건)완료이호영2026/08/13

Actions
Actions

내보내기 Atom PDF