[FAQ] 지도/로컬 API 문의 전 꼭 읽어 주세요.
https://devtalk.kakao.com/t/faq-api/125610
자취방들의 주변 인프라 수를 조사하기 위해 스타벅스 등의 상호명을 검색하여 반경 1km이내에 있다면 그 수를 받아오려고 합니다.
코드 내용은 다음과 같습니다.
import requests
def get_starbucks_count(address):
# 카카오지도 API를 사용하여 주소의 좌표를 검색합니다.
url = ‘https://dapi.kakao.com/v2/local/search/address.json’
headers = {‘Authorization’: ‘api키’}
params = {‘query’: address}
response = requests.get(url, headers=headers, params=params)
result = response.json()
# 검색 결과가 없는 경우 예외 처리합니다.
if 'documents' not in result or len(result['documents']) == 0:
print('검색 결과가 없습니다.')
return 0
x = result['documents'][0].get('x') # 경도
y = result['documents'][0].get('y') # 위도
# 경도와 위도가 없는 경우 예외 처리합니다.
if x is None or y is None:
print('주소의 좌표 값이 없습니다.')
return 0
# 카카오지도 API를 사용하여 도보 10분 내의 스타벅스 매장을 검색합니다.
url = 'https://dapi.kakao.com/v2/local/search/keyword.json'
params = {
'query': '스타벅스',
'category_group_code': 'CE7', # 카테고리 코드: 커피전문점
'x': x,
'y': y,
'radius': 1000, # 1km 내에서 검색
'sort': 'distance', # 거리순 정렬
}
response = requests.get(url, headers=headers, params=params)
result = response.json()
# 검색 결과에서 스타벅스 매장 수를 반환합니다.
count = result.get('meta', {}).get('total_count', 0)
return count
자취방의 도로명 주소를 입력하세요.
address = ‘서울특별시 동대문구 이문로 107’
도보 10분 내에 있는 스타벅스 매장 수를 가져옵니다.
starbucks_count = get_starbucks_count(address)
print(f’도보 10분 내에 있는 스타벅스 매장 수: {starbucks_count}개’)
위 내용이 해당부분 코드입니다. 하지만 어떤 주소지를 입력해도 검색결과가 없다고 출력합니다. 어느 부분이 문제인지 모르겠습니다.
에디터는 주피터 노트북 사용 중입니다.