공공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
'Data Analysis > 청소년수련활동인증제' 카테고리의 다른 글
e청소년_데이터전처리2 (0) | 2023.08.29 |
---|---|
e청소년_데이터 전처리 (0) | 2023.08.18 |
공공데이터 api 활용 데이터 연결 및 관계 설정 (0) | 2023.08.09 |
공공데이터api_데이터정제 1 - 데이터 하나만 남도록 설정 (0) | 2023.08.09 |
공공데이터 api 활용 수집 이후 추가데이터수집 보완 (0) | 2023.08.08 |