네이버 API의 지역 검색을 이용해서 검색어의 지역별 인기 가게의 리스트를 가져와보겠습니다.
1. 네이버 API 가입(SKIP 가능)
2. 검색 > 지역 API 이용하기
3. 지역별 인기 가게의 리스트 확인
1. 네이버 API 가입(SKIP 가능)
2. 검색 > 지역 API 이용하기
입력 가능한 파라미터를 살펴보겠습니다.
query, display, start, sort 4가지가 있는데 query는 필수 파라미터이고 나머지는 필수가 아닌
default 값이 정해져 있습니다.
query(검색어)를 갈비로 해서 결과를 확인해 보겠습니다.
display는 한 번에 가져올 리스트 수로 5개로 지정하겠습니다.
아래가 가져오는 코드입니다.
client_id, client_secret은 본인의 데이터가 필요합니다.
query='갈비'
#client_id = "YOUR_CLIENT_ID"
#client_secret = "YOUR_CLIENT_SECRET"
encText = urllib.parse.quote(query)
url = "https://openapi.naver.com/v1/search/local.json?query=" + encText + \
"&display=5"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
result = json.loads(response_body)
else:
print("Error Code:" + rescode)
아래와 같은 결과들을 얻을 수 있습니다.
출력 파라메터를 보겠습니다.
아래의 빨간 네모 부분에 실제 가게 정보가 들어가 있습니다.
3. 지역별 인기 가게의 리스트 확인
갈비 검색어에 대한 전국 시도별 인기 가게의 리스트를 확인해보겠습니다.
regions=['서울','경기','인천','강원','충청','대전','세종','전라','광주','경상','대구','부산','제주']
#client_id = "YOUR_CLIENT_ID"
#client_secret = "YOUR_CLIENT_SECRET"
result_list=[]
for region in regions:
query='갈비'
query = region + ' ' + query
encText = urllib.parse.quote(query)
url = "https://openapi.naver.com/v1/search/local.json?query=" + encText + \
"&display=5"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
#print(query)
if(rescode==200):
response_body = response.read()
results = json.loads(response_body)['items']
for result in results:
result['region']=region
result['title']=result['title'].replace('<b>','').replace('</b>','')
result_list.append(result)
else:
print("Error Code:" + rescode)
df=pd.DataFrame(result_list)
지역을 아래로 한정했고 각 지역별로 for문을 실행하는데
query를 지역 + 갈비의 검색어로 API를 실행했습니다.
regions=['서울','경기','인천','강원','충청','대전','세종','전라','광주','경상','대구','부산','제주']
for region in regions:
query='갈비'
query = region + ' ' + query
encText = urllib.parse.quote(query)
실제 데이터가 response의 'items'에 있어 그 부분만을 따로 저장했고, result['region']에 지역 정보를 넣었습니다.
title에 bold의 html tag가 있어 제거했습니다.
if(rescode==200):
response_body = response.read()
results = json.loads(response_body)['items']
for result in results:
result['region']=region
result['title']=result['title'].replace('<b>','').replace('</b>','')
result_list.append(result)
자 자금 지역별 결과를 확인해볼까요.
서울에서는 원조 조박집, 대성갈비, 봉피양방이 등이 플레이스의 상위권에 위치하고 있습니다.
제가 살고 있는 경기도를 보겠습니다.
수원 갈비들이 플레이스 상위를 차지하고 있는 것을 알 수 있습니다.
df.loc[df['region']=='경기']
부산의 경우는 아래의 가게들이 검색이 됩니다.
df.loc[df['region']=='부산']
이상으로 네이버 API의 지역 검색을 이용해서 검색어의 지역별 인기 가게의 리스트를 확인해 봤습니다.
'API' 카테고리의 다른 글
[Fred API] 미국 실업률과 경기 침체 데이터 수집 및 그래프 그리기 (4) | 2022.11.23 |
---|---|
[Fred API] 가입 후 API KEY 신청 및 확인하기 (4) | 2022.11.23 |
[FinanceDataReader] 업종별 수익(CAGR) 및 MDD 비교하기 (4) | 2022.11.18 |
[FinanceDataReader] 주가 및 MDD(Maximum DrawDown) 확인 (6) | 2022.11.18 |
[전자공시 Dart API] PER 계산 및 PER 낮은 회사 순으로 정렬하기 (4) | 2022.11.16 |