# 공공저작물 실태조사 DB수집 신유형개방지원사업 대상기관(1,160개)의 홈페이지를 사이트맵 단위로 점검하여 공공누리 부착 여부·게시물 형태·저작물 유형을 엑셀로 정리하는 데이터 수집 프로젝트. 루트 디렉터리: `D:\01.프로젝트\DB수집` --- ## 1. 프로젝트 구성 ``` DB수집/ ├─ ★[아이티앤] 공공저작물 자료조사 매뉴얼자료Ver1.2_260525.hwp # 조사 매뉴얼(v1.2) ├─ ★공공저작물 실태조사 조사원 자료 취합본(관리자)_2605212137.xlsx # 관리자 취합본 ├─ 붙임1_...개방 대상기관(1160개) 실태조사 목록...양식_260518.xlsx # 1,160개 기관 마스터 양식 ├─ 자료_취합_예시.xlsx # 작성 예시 ├─ 2단계 안내사항.txt # 2단계 분배·작성 규칙 ├─ 하이퍼링크활성화.py # K열 URL을 엑셀 하이퍼링크로 변환 │ ├─ 1주차(5.19~5.25)/ # 지자체 2개 + 부처 3개 완료 │ ├─ 인천광역시(완료)/ # 분야별 메뉴 .txt + 작업본 xlsx + 크롤러 │ ├─ 전라남도(완료)/ │ ├─ 고용노동부(완료)/ │ ├─ 과학기술정보통신부(완료)/ │ ├─ 교육부(완료)/ │ └─ 수정/ # 샘플 .xlsm + 심예진 수정본 │ └─ 2주차/ # 부처 3개 진행 ├─ 보건복지부/ # test.py = mohw.go.kr 크롤러 ├─ 성평등가족부/ # test.py = 저작물 8유형 자동 분류기 └─ 외교부/ # test.py = /list.do 게시판 건수 수집기 ``` 각 부처/지자체 폴더의 전형적 구성: - `<기관명>_홈페이지_사이트_*.xlsx` — 단계별 작업본(r1, r2, ... 결과, 완료) - `<기관명>_메뉴.txt` / `메뉴구조.txt` — 사이트맵 메뉴 텍스트 덤프 - `*.py` — 해당 기관 사이트 구조에 맞춘 크롤링 스크립트 --- ## 2. 엑셀 데이터 스키마 (작업 컬럼) 크롤러 코드 기준 핵심 열: | 열 | 번호 | 의미 | 채워지는 방법 | |----|----|------|-------------| | K | 11 | URL 주소 | 수기 입력 (1차 사이트맵 수집) | | L | 12 | 게시판/페이지 구분 | 크롤러가 URL 패턴·DOM으로 자동 판별 | | M | 13 | 게시물 수량 | 게시판일 때 `total`·`totalCount` 등에서 추출 | | N | 14 | 저작물 유형 | 본문 분석 → 어문/이미지/영상/오디오/글꼴/3D/기타/없음 | | O | 15 | 공공누리 부착 유형 | `kogl.or.kr/info/licenseType` 링크에서 1~4유형 추출 | | P | 16 | 마크 부착위치 | 게시판/게시물 | | Q | 17 | 부착 여부 보조 | (스크립트별 상이) | 데이터는 보통 3행 또는 4행부터 시작(헤더 2행). --- ## 3. 작성 규칙 (2단계 안내사항 발췌) - 대분류는 **지방자치단체 17개 우선**, 중분류는 **부/처/청 상단기관**만 (단, `_기타` 포함 제외). - `게시물형태 == 사이트`: `수량`~`마크 하이퍼링크` 공백 처리. - `저작물 유형` 및 `공공누리 연계`는 작성 X. - `공공누리 부착` 유형이 여러 개이면 모두 기재(예: `1유형, 4유형`). - 게시물 0건 또는 자물쇠 페이지 → `공공누리 부착 = 미부착`. - 게시판·게시물 동시 부착 → `마크 부착위치 = 게시판`. - 페이지에만 부착 → `마크 부착위치 = 게시물`. - 로그인·본인인증 페이지는 전부 삭제. 분배 현황(2단계 17개 지자체): 김재민(경남/울산/충남) · 구소영(경북/서울) · 심예진(강원/대전/세종/제주) · 방유정(경기/부산/전북) · 황의정(광주) · 정대원(대구/충북) · 프리랜서1(인천/전남/고용노동부/과기정통부/교육부). --- ## 4. 스크립트 카탈로그 루트 공용: - `하이퍼링크활성화.py` — K열의 http(s) URL을 엑셀 하이퍼링크로 변환 + 파란색 밑줄 스타일 적용. 입력/출력 경로는 스크립트 내부 상수. 기관별 크롤러(공통 패턴: `requests` + `BeautifulSoup` + `openpyxl`로 기존 서식을 보존하며 셀만 갱신): | 위치 | 용도 | |------|------| | `2주차/외교부/test.py` | URL이 `/list.do`로 끝나면 L열에 "게시판" 표시, `