본문 바로가기
Python

[python] 공공 데이터 포털 API 소상공인시장진흥공단 상가 상권 정보 조회

by 퍼포먼스마케팅코더 2022. 8. 14.
반응형

마지막 내용인데 이거는 이걸로 해서 공공 데이터 포털 쪽에 api는 마무리 지을 것 같아요. 어 저도 추천을 어떤 분이 유용한 데이터가 많다. 자기도 뭐 이런 것을 찾아서 다양한 데이터를 참고가 많이 됐다라는 것을 저도 호기심 삼아서 제 휴가 때 진행을 하게 됐습니다.

 

결과론적으로 봤었을 때 저도 코딩을 했었을 때 공공 데이터 포털 안에서 데이터를 어떻게 가져와야 되는지 그거에 대해서 조금 에러 문구라든가 이런 것들 많이 걸린 것도 있었어요. 결과론적으로는 다 풀었었고 해서 혹여나 데이터를 보는 게 힘들다라는 게 있으시면 언제든지 말씀만 주시면 될 것 같습니다. 거의 웬만한 거는 뚫었었기 때문에 그것만 참고만 해주시면 될 것 같고요 마지막으로 소상공인 시장진흥공단에서 나오는 상가 혹은 상권 정보에 관련돼서 데이터를 조회할 수 있는 방법입니다. 파이선 코딩 으로 만들어 놨었던 것들이고요.

[python] 공공 데이터 포털 API 소상공인시장진흥공단 상가(상권)정보 조회

공공 데이터 포털 API 소상공인시장진흥공단 상가(상권)정보 API 키 발급

https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15012005 

 

소상공인시장진흥공단_상가(상권)정보_API

소상공인 상권정보 상가업소 데이터

www.data.go.kr

python 공공 데이터 포털 API 소상공인시장진흥공단 상가(상권)정보 조회

이것도 마찬가지로 데이터를 보려면 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')

#지정 상권조회	
#주요상권의 영역좌표를 조회하는 기능으로 지정된 상권번호에 해당하는 단일 상권정보를 조회	

serviceKey='' #공공데이터포털에서 받은 인증키
key = '9174' #조회 대상 상권의 상권번호
type = 'json' #xml / json

url = 'https://apis.data.go.kr/B553077/api/open/sdsc2/storeZoneOne?serviceKey={}&key={}&type={}'.format(serviceKey,key,type)


response = requests.get(url, verify=False)
#dict_data = xmltodict.parse(response.text)
#json_data = json.dumps(dict_data, ensure_ascii=False)
r_data = json.loads(response.text)


#Shape of passed values is (2, 4), indices imply (1, 4)
#data = pd.DataFrame(r_data['response']['body']['items']['item'])  이걸로 넣어주면 됨.

#If using all scalar values, you must pass an index 에러 문구가 뜰 경우, index=[0]
#data = pd.DataFrame(r_data['response']['body']['items']['item'], index=[0]) 이렇게 바꿔주면됨.


#columns=r_data['header']['columns']

try : 
    data = pd.DataFrame(r_data['body']['items'])  
except :
    data = pd.DataFrame(r_data['body']['items'], index = [0])

data.columns = r_data['header']['columns'] #컬럼변경

data
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')

#업종별 상가업소 조회
#입력 업종에 해당하는 업소목록 조회

serviceKey='' #공공데이터포털에서 받은 인증키
pageNo = '1'   #현재 요청 페이지번호
numOfRows = '10'  #최대 1000
divId = 'indsLclsCd' #대분류는 indsLclsCd, 중분류는 indsMclsCd, 소분류는 indsSclsCd를 사용
key = 'Q' #대분류는 대분류코드값, 중분류는 중분류코드값, 소분류는 소분류코드값을 사용
type = 'json' #xml / json

url = 'https://apis.data.go.kr/B553077/api/open/sdsc2/storeListInUpjong?serviceKey={}&pageNo={}&numOfRows={}&divId={}&key={}&type={}'.format(serviceKey,pageNo,numOfRows,divId,key,type)

response = requests.get(url, verify=False)
#dict_data = xmltodict.parse(response.text)
#json_data = json.dumps(dict_data, ensure_ascii=False)
r_data = json.loads(response.text)


#Shape of passed values is (2, 4), indices imply (1, 4)
#data = pd.DataFrame(r_data['response']['body']['items']['item'])  이걸로 넣어주면 됨.

#If using all scalar values, you must pass an index 에러 문구가 뜰 경우, index=[0]
#data = pd.DataFrame(r_data['response']['body']['items']['item'], index=[0]) 이렇게 바꿔주면됨.


#columns=r_data['header']['columns']

try : 
    data = pd.DataFrame(r_data['body']['items'])  
except :
    data = pd.DataFrame(r_data['body']['items'], index = [0])

data.columns = r_data['header']['columns'] #컬럼변경

data
반응형

댓글