e-청소년 사이트 스크래핑
공공api를 활용해 데이터를 수집하여 분석 하였지만 분석할 수 있는 건덕지가 많지 않았다. 또한 인증제에 대한 이론적 배경과 관련하여 분석하기 위해 서는 다른 방법으로 데이터를 수집할 필요가 있어 보였다. 따라서 e-청소년 사이트에 올라와있는 인증활동을 직접 스크래핑하여 데이터를 수집하기로 했다.
[e-청소년 사이트]
사이트는 아래 사진 처럼 인증 프로그램이 나열되어있고, 활동들에 대한 정보가 형식에 맞춰 나열되어있다.

청소년활동정보서비스 e청소년 - <a href='/youth/act/actSearch/allActSearchLst.yt'>청소년활동</a> > <a href='/yo
청소년자원봉사(DOVOL), 청소년수련활동신고제/인증제, 국제성취포상제 기록관리 등의 청소년활동 종합안내
www.youth.go.kr
1. 테이블 구성
데이터를 수집하기 위해 아래와 같이 테이블을 만들었다. 테이블에 대한 필드들의 설명은 다음과 같다.
가. orgInfo(기관정보)
- idx: index
- orgName: 기관명
- addr: 주소
나. pgInfo(프로그램정보)
- idx: index
- orgInfo_idx: orgInfo index
- pgcode: 프로그램 코드(unique)
- opMethod: 운영방식
- avArea: 활동영역
- regDate: 인증일
- avDate: 실시일
- pgName: 프로그램 이름
다. pgDetail(프로그램 세부정보)
- idx: index
- pgCode: 프로그램 코드(unique)
- avRegion: 활동지역
- peopleNum: 참여인원
- age: 연령(초, 중, 고, 대, 일반)
- price: 참가비
- sleepOk: 숙박여부

2. 데이터 수집
데이터 수집은 Python을 활용해 수집하였다. BeautifulSoup라이브러리와 requests라이브러리를 활용하여 수집하였다.
orginfo테이블과 pgInfo테이블의 경우 사이트에 들어가면 인증활동이 요약으로 보여지는 페이지에서 가능했지만 pgDetail테이블은 클릭해서 들어가야 정보를 모을 수 있었다. 최종적으로 수집된 데이터 수는 다음과 같다.
가. 기관수: 681개
나. 프로그램: 2993개
다. 인증기간: 2016.11.30 ~ 2023.08.18(2023.08.18에 수집함)



데이터 전처리는 Tableau Prep을 활용해 진행한다.
e청소년_데이터 전처리
Tableau Prep을 이용해 e청소년 사이트에서 수집한 데이터를 전처리 한다. 먼저 Tableau Prep에 mysql을 연결하여 db를 불러온다. 나는 3개의 테이블이 조회된다. orgInfo 테이블과 pginfo테이블을 join 한다.
hiphan-mansoorrr.tistory.com
[수집 코드]
https://github.com/RyuMinSu/YouthActivityCertification/blob/master/orgInfo.py