Naver API 등록
- https://developers.naver.com/main/
- 네이버 개발자 센터
- 네이버 로그인
- 서비스 API 선택
- 데이터랩
- 오픈 API 이용 신청
- 환경 추가
- WEB 설정
- http://localhost 입력
- 등록하기
- Client ID
- Client Secret
- 복사해두기
- 위 주소를 즐겨찾기에 두면 나중에 찾기 편리하다
- 일일 사용량이 정해져 있다
Naver API 사용
- API에 대한 Python 예제
- 그 중에 API 기본 정보 항목에 보면 요청 URL이 있다
- 웹 API는 이 경로를 이용한다
- 예제 코드를 Jupyter Notebook에 복사
- client_id, client_secret 변수에 발급받은 내용을 넣어준다
- urllib: http 프로토콜에 따라서 서버의 요청/응답을 처리하기 위한 모듈
- urllib.request: 클라이언트의 요청을 처리하는 모듈
- urllib.parse: url 주소에 대한 분석
- 이 주소가 네이버 블로그 검색 결과를 가져오는 주소이다
- 응답 결과를 response에 저장
- 결과를 보기 위해서는 약간의 작업이 더 필요하다
- http.clinet.HTTPResponse 클래스는 getcode() 함수를 이용해서 응답의 상태를 확인할 수 있다
- 200은 정상
- 사용하는 서비스마다 에러코드가 조금씩 다르므로 잘 확인하자
- 글자로 읽을 때 decode로 utf-8을 설정해줘야 한다
- 이 주소는 네이버 책 검색 결과를 가져오는 주소이다
- 이 주소는 네이버 영화 검색 결과를 가져오는 주소이다
- 이 주소는 공개된 네이버 카페 검색 결과를 가져오는 주소이다
- 이 주소는 공개된 네이버 쇼핑 검색 결과를 가져오는 주소이다
- 이 주소는 공개된 네이버 백과사전 검색 결과를 가져오는 주소이다
상품검색
- 몰스킨이라는 이름으로 검색
- 반고흐가 쓴 몰스킨 노트의 메모
- 이 순서로 함수를 만들어 나감
get_search_url
get_result_onpage
get_fields
actMain
- 인덱스에 문제가 있음
toExcel
시각화
- matplotlib 한글 대응
- 몰스킨 노트 판매자 조회
인구 현황 데이터 정리 및 소멸 위기 지역 파악
- 한글설정
- 엑셀을 읽어보자
- 일부 컬럼의 이름도 바꿔주자
- 소계는 제거
- 소멸 지역을 조사하기 위한 데이터를 만들어 두자
- pivot_table
- 소멸 비율 계산
- 소멸 위기 지역인지 체크
- 소멸 위기 지역을 바로 조회해볼수 있다
- 대부분 "군" 지역
인구 현황 데이터에 지도 ID 만들기
- 전국의 고유한 ID를 만들어야함
- 만들어야 할 ID 는 아래와 같다
- 서울 중구 - 서울 서초 - 통영 - 남양주 - 포항 북구 - 인천 남동 - 안양 만안 - 안양 동안 - 안산 단원
- 자치구는 어차피 자료에서 나타나니, 행정구를 가진 지역만 신경쓰면 된다
- 여기서는 일반 시의 이름과 세종시, 그리고 광역시도의 일반 구를 정리한다
- 강릉시 -> 강릉
- 춘천시 -> 춘천 이런 식으로 정리
- 세종시는 세종특별자치시 -> 세종
- 중구 -> "광역시도" + 중구
- 강남구 -> "광역시도" + 강남
- 행정구에 대해 특별히 다시 계산한다
- 광역시나 특별시, 자치시가 아닌 경우의 행정구에 대해서만 적용
- 행정구를 지정한 dict형 자료에 있는 지역인지 검색
- 분당구 -> 분당, 북구 -> 북구
- 특별히 너무 긴 이름의 구는 짧게 처리
- 고성군 -> 강원도 고성(강원) -> 고성(강원)
- 고성군 -> 경상남도 고성(강원) -> 고성(경남)
- 인구 소멸 위기 지역 파악이 끝남
- 지도에 그리기 위한 ID도 생성 완료
카르토그램
- 엑셀에서 그린 지도 모양을 읽어온다
- 인덱스로 나타난 좌표를 데이터로 사용하기 위해 reset_index
- 이름도 바꾸기
- draw_korea = draw_korea_raw_staked
- 이 그림을 그려야 한다
- 경계선 그리기
- 시도의 이름을 표현하는 함수
- 경계선과 시도 이름
- 데이터 검증
- 결과가 다르다
- 차집합은 교환법칙이 성립하지 않는다
- 광역시가 아닌데 행정구를 가지고있던 구들이 pop에 남아있었다
- 이 데이터는 그냥 지우면 된다
- 지도를 그리기 위한 데이터와 인구현황 데이터를 합치자
- 그림을 그리기 위한 데이터를 계산하는 함수
- 이 함수는 색상을 만들때 최소값을 흰색으로 한다
- blockedMap은 인구현황이고, targetData는 그리고 싶은 컬럼
- 그림을 그리기 위한 데이터를 계산하는 함수
- 이 함수는 색상을 만들때 중간값을 흰색으로 한다
- blockedMap은 인구현황이고, targetData는 그리고 싶은 컬럼
- whitelabelmin 적용
- drawkorea에 인구수 합계를 넣었음
- 소멸 위기 지역
- 여성비율
- 2030 여성비율
- folium 사용
- 인구수 합계 그리기
- 소멸 위기 지역
네이버 API를 사용하여 필요한 정보를 불러오고 시각화 하는 부분이 가장 기억에 남고 재미있었다
인구 분석의 전국의 고유한 ID를 만드는 부분이 코드양도 많고 이해하기 어려운 부분이 좀 있었다
가면 갈수록 할수 있는것이 많아지지만 그럴수록 외워야 하고 손에 익어야 하는 것이 많아지는 것이므로 걱정이 좀 된다
내일은 이어서 SQL로 넘어간다