네이버 검색 open API 예제 - 블로그 검색
https://developers.naver.com/docs/serviceapi/search/blog/blog.md#python
import os
import sys
import urllib.request
client_id = "My_Client_ID"
client_secret = "My_Client_SECRET"
# request url 생성
# 한글을 URL에 추가하기 위해서 UTF-8 형식으로 URL인코딩
encText = urllib.parse.quote("파이썬")
# JSON 요청 URL (여기서/search/blog?query 하면 blog, 책이면 book, 카페면 cafe, 쇼핑이면 shopping, 백과사전이면 encyc 대체해서 넣기)
url = "https://openapi.naver.com/v1/search/blog?query=" + encText
# encText에 이어 + "&display=3&sort=count" 를 붙여 (따옴표 포함 요청 URL + 요청 변수 보여주기. naver api사이트에서 확인가능)
# XML 요청 URL (여기서/search/blog?query 하면 blog, 책이면 book, 카페면 cafe, 쇼핑이면 shopping, 백과사전이면 encyc 대체해서 넣기)
url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText
# REQUEST 객체 (URL요청과 관련된 정보를 담는 추상화된 클래스) 생성 및 Header 추가. add_header 메소드로 헤더정보 추가. 네이버 API 사용하려면 클라이언트 정보를 헤더에 포함시켜야 함
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
# urlopen 및 response 획득 (url string 혹은 request객체를 전달 받음. header 정보 포함한 request 객체 전달)
response = urllib.request.urlopen(request)
rescode = response.getcode() # response의 HTTP status code를 리턴
# HTTP status code 확인 및 response 데이터 디코딩
# getcode 메서드 통해 response의 HTTP status code 확인
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else: # 네이버 오픈 API 에러 코드 목록
print("Error Code:" + rescode)
https://developers.naver.com/docs/serviceapi/search/book/book.md
import json
json_rt = response.read().decode('utf-8')
py_rt = json.loads(json_rt)
==========================================