반응형
이는 한국형사정책연구원에서 나온 범죄통계와 관련된 공공데이터포털 api의 사용방법입니다. 내용이 복잡해 보이네요. 실제로 제가 써봤는데 복잡해요. 코드도 굉장히 많고 이것은 범죄에 관심있는 분들에게 좋은 api 정보라고 생각합니다. 범죄 통계와 관련된 자료가 엄청 많아요. 코드만 찾아봤는데 대부분 통계표 아이디가 있어요. 아이디만 1천개가 넘어요. 이건 도저히 정리가 힘들 것 같아서 파이썬으로 코딩할 수 있는 내용만 작성한 거예요. 참고하시면 될 것 같습니다.
공공 데이터 포털 API 한국형사정책연구원 범죄통계 통합 DB 정보 API 키 발급
그래서 두 부분이 있는데 우선 이것도 마찬가지로 api를 사용하기 위해서는 키를 발행해야 합니다. 관건은 공공데이터포털 측이 아닌 한국형사정책연구원과 관련된 사이트가 있습니다.
https://www.crimestats.or.kr/portal/openapi/openApiActKeyPage.do
파이썬 공공 데이터 포털 API 한국형사정책연구원 범죄통계 통합DB 정보 사용방법
공공 사이트 안에 들어가서 api키를 발급받고 그다음에 파이썬 코딩으로 보는데 처음에는 두 부분으로 제가 정리를 했는데 내용이 어려워요. 범죄와 통계에 관련된 내용 자체가 자료가 너무 많이 있으니까요. 밑에 제가 둘로 나눠서 정리를 했어요 출력값이 어떻게 나오고 코드를 뭘 넣으면 나오는지 단순히 여러분이 인증된 키만 넣기만 하면 바로 데이터가 다 나오게 해놨습니다. 참고해 보세요. 난해해지고 있어요. 그래서 이걸 데이터를 활용할 때 범죄 통계와 관련된 부분을 많이 공부하고 활용해야겠다는 생각이 들었습니다. 참고하시면 될 것 같습니다.
from urllib.request import urlopen
from urllib.parse import urlencode, unquote, quote_plus
import urllib
import requests
import json
import pandas as pd
from datetime import datetime,timedelta
import warnings
import xmltodict # 결과가 xml 형식으로 반환된다. 이것을 dict 로 바꿔주는 라이브러리다
warnings.filterwarnings('ignore')
#https://www.crimestats.or.kr/portal/openapi/openApiActKeyPage.do#
#인증키
#https://www.crimestats.or.kr/portal/openapi/openApiGuideCdPage.do #통계코드는 해당 기일을 보자.
key = '' #키 발급
Type = 'json'
pIndex = '1'
pSize = '100'
STATBL_ID = 'T184463021456318'
DTACYCLE_CD = 'YY'
WRTTIME_IDTFR_ID = '2018'
url = 'https://www.crimestats.or.kr/openapi/Sttsapitbldata.do?STATBL_ID={}&DTACYCLE_CD={}&WRTTIME_IDTFR_ID={}'.format(STATBL_ID, DTACYCLE_CD, WRTTIME_IDTFR_ID)
response = requests.get(url, verify=False)
dict_data = xmltodict.parse(response.text) #xml을 json로 변환
json_data = json.dumps(dict_data, ensure_ascii=False) #한글이 깨지면 ensure_ascii 코드를 False로 하면됨.
r_data = json.loads(json_data) #json 변환
data = pd.DataFrame(r_data['Sttsapitbldata']['row']) #데이터프레임으로 보자
data #오나료
#출력값
#STATBL_ID 통계표ID
#DTACYCLE_CD 자료주기
#WRTTIME_IDTFR_ID 자료시점
#ITM_ID 항목ID
#ITM_NM 항목명
#CLS_ID 분류ID
#CLS_NM 분류명
#UI_NM 단위명
#DTA_VAL 통계자료값
#DTA_SVAL 통계기호
from urllib.request import urlopen
from urllib.parse import urlencode, unquote, quote_plus
import urllib
import requests
import json
import pandas as pd
from datetime import datetime,timedelta
import warnings
import xmltodict # 결과가 xml 형식으로 반환된다. 이것을 dict 로 바꿔주는 라이브러리다
warnings.filterwarnings('ignore')
#https://www.crimestats.or.kr/portal/openapi/openApiActKeyPage.do#
#https://www.crimestats.or.kr/portal/openapi/openApiGuideCdPage.do #통계코드는 해당 기일을 보자.
KEY = '' #인증키
Type = 'json'
pIndex = '1'
pSize = '100'
STATBL_ID = 'T184463021456318' #통계표ID
DTACYCLE_CD = 'YY' #자료주기
#WRTTIME_IDTFR_ID = '2018' #자료시점
#ITM_ID = #항목ID
#CLS_ID = #분류ID
url = 'https://www.crimestats.or.kr/openapi/Sttsapitbldata.do?KEY={}&Type={}&pIndex={}&pSize={}&STATBL_ID={}&DTACYCLE_CD={}'.format(KEY,Type,pIndex,pSize, STATBL_ID, DTACYCLE_CD)
response = requests.get(url, verify=False)
response.text
#dict_data = xmltodict.parse(response.text) #xml을 json로 변환
#json_data = json.dumps(dict_data, ensure_ascii=False) #한글이 깨지면 ensure_ascii 코드를 False로 하면됨.
r_data = json.loads(response.text) #json 변환
data = pd.DataFrame(r_data['Sttsapitbldata'][1]['row']) #데이터프레임으로 보자
data #완료
#출력값
#STATBL_ID 통계표ID
#DTACYCLE_CD 자료주기
#WRTTIME_IDTFR_ID 자료시점
#ITM_ID 항목ID
#ITM_NM 항목명
#CLS_ID 분류ID
#CLS_NM 분류명
#UI_NM 단위명
#DTA_VAL 통계자료값
#DTA_SVAL 통계기호
반응형
'Python' 카테고리의 다른 글
[파이썬] 공공 데이터 포털 API 한국저작권위원회 공유 만료 저작물 서비스 조회 사용방법 (0) | 2022.08.13 |
---|---|
[파이썬] 공공 데이터 포털 API 한국저작권위원회 저작권 등록 정보 서비스 조회 사용방법 (0) | 2022.08.13 |
[파이썬] 공공 데이터 포털 API 국토교통부 아파트 매매 자료 조회 (0) | 2022.08.13 |
[파이썬] 공공 데이터 포털 API 한국환경공단 에어코리아 대기 오염 정보 (0) | 2022.08.13 |
[파이썬] 공공 데이터 포털 API 코로나19 감염 현황 조회 (0) | 2022.08.13 |
댓글