네이버 지도 상호검색 결과 파싱

Computer/Python 2015. 1. 7. 19:16
오늘 모 군의 질문으로 괜히 한번 짜본, 
상호명으로 네이버에서 검색했을 때 결과 중 전화번호만 가져오는 코드. 

네이버 Open API를 써서 연동하는 게 정상이겠지만 키도 발급받아야 하고 등등...해서 그냥 requests 라이브러리를 사용하여 http get으로 받아봤다. 
테스트해보니 user-agent가 없으면 서버에서 http 400 error를 뱉어서 header에 user-agent만 추가해주고, json 받아서 return. 

이렇게 간단하다니 파이썬은 정말 라이브러리가 잘 되어있다! 





import requests as rq
import json

def getAddressFromNaver(name):
url = "http://map.naver.com/search2/local.nhn"
header = {'User-Agent': 'Mozilla/5.0'}
payload = {'query': name}

req = rq.Request('Get', url, headers=header, params=payload)
r = req.prepare()
s = rq.Session()
result = s.send(r).json()
return result['result']['site']['list'][0]['tel']

if __name__ == '__main__':
print(getAddressFromNaver("롯데마트서울역점"))




'Computer > Python' 카테고리의 다른 글

BeautifulSoup 예제  (0) 2015.01.11
파이썬으로 개미수열 찍기  (5) 2014.12.03