콘솔워크

네이버 API 책 검색 샘플 코드 본문

프로그래밍/python

네이버 API 책 검색 샘플 코드

이휘재123 2022. 10. 31. 16:20
반응형
if 1 == 1:
    import sys
    import os

    sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
import urllib.request


class APIPracticeBot:
    def __init__(self) -> None:
        self.client_id = ""
        self.client_secret = ""
        self.url = "https://openapi.naver.com/v1/search/book?query="

    def my_client_info(self):
        print(f"{self.client_id} {self.client_secret}")

    def get_search_url(self, keyword=""):
        print(f"검색어: {keyword}")
        enc_keyword = urllib.parse.quote(f"{keyword}")
        search_url = self.url + enc_keyword
        print(search_url)
        return search_url

    def naver_request(self, url_query):
        request = urllib.request.Request(url_query)
        request.add_header("X-Naver-Client-Id", self.client_id)
        request.add_header("X-Naver-Client-Secret", self.client_secret)

        return request

    def naver_response(self, request):
        response = urllib.request.urlopen(request)
        rescode = response.getcode()
        print(f"{response} {rescode}")

        if rescode == 200:
            response_body = response.read()
            print(response_body.decode("utf-8"))
        else:
            print("Error Code:" + rescode)

        return response_body

    def work_start(self, keyword=""):

        self.my_client_info()

        url_query = bot.get_search_url(keyword)

        request = self.naver_request(url_query)

        response_body = self.naver_response(request)


if __name__ == "__main__":

    keyword = "검색어"

    bot = APIPracticeBot()

    bot.work_start(keyword)

 

 

client_id와 client_secret은 해당 링크에서 발급 받으실 수 있습니다.

https://developers.naver.com/docs/common/openapiguide/appregister.md

 

사전 준비 사항 - Open API 가이드

사전 준비 사항 네이버 오픈API를 사용하려면 먼저 네이버 개발자 센터에서 애플리케이션을 등록하고 클라이언트 아이디와 클라이언트 시크릿을 발급받아야 합니다. 클라이언트 아이디와 클라

developers.naver.com

 

반응형