[Python] NAVER API로 음식점 상세 정보 검색하기
진짜 되도록이면 하나하나 map.naver.com/ 으로 쿼리하는 짓은 하고싶지 않다...
그래도 NAVER API 는 공식적으로 제공해주는 데이터니까 조금 낫지 않을까?
최소한, 정제되어있는 형태의 무언갈 주지 않을까...?
하는 기대에 NAVER API 를 무턱대고 시작해보았다.
1. NAVER Developers 에 가입하기
NAVER Developers
네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음
developers.naver.com
로 접근해서 API 신청에 필요한 정보를 얻으려고 했다.
며칠 걸릴 각오 정도는 되어있다...
하고 들어갔는데 웬걸
Application 등록은 여기로 하세요~~ 하고 제법 친절하게 설명되어있다.
하지만 내 목적은 네이버 플레이스 데이터베이스를 빼오는 것... 어플리케이션같은건 만들 계획도 없다
내 진의를 숨기고 차근차근 접근해보자
2. 어플리케이션 등록
역시 네이버 녀석들, 호락호락하지 않다.
나는 은밀하게 접근하기 위해 가상의 어플리케이션 이름과 사용 API 는 "검색"으로 설정하고 진행했다.
내 정보를 인증하고 나니 등등의 기본정보를 적고...
3. 인증키 발급
의외로 쉽잖아!!!!!!
내가 너무 까탈스럽게 굴었지? 네이버야 미안해~~
NAVER 검색 API 로 검색하는 Python code는 아래와 같다.
# 네이버 검색 API 예제 - 블로그 검색
import os
import sys
import urllib.request
client_id = "아이디뭐에요"
client_secret = "비밀번호뭐에요"
encText = urllib.parse.quote("검색해봐요")
url = "https://openapi.naver.com/v1/search/local.json?query=" + encText # JSON 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과
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()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
이 결과물은
이렇다.
저 title 과 주소 결과물이라면, 그리고 좌표값까지 있다면 두려울 게 없다.
이제 postgres sql 에서 결과물을 가지고 와서 json 파일을 매치시켜보자.