군침이 싹 도는 코딩

open api 이용하는 방법 본문

Python/Flask

open api 이용하는 방법

mugoori 2023. 1. 13. 15:42
class NaverSearchResource(Resource) :

    def get(self):

        # 클라이언트가 보내는 데이터를 받아온다
        keyword = request.args.get('keyword')
        limit = request.args.get('limit')

        # 네이버 API를 호출
        ### Restful Open API를 호출할때 사용하는 라이브러리 => requests

        data = {'query':keyword,'display':limit}
        headers = {'X-Naver-Client-Id':Config.NAVER_CLIENT_ID,'X-Naver-Client-Secret':Config.NAVER_CLIENT_SECRET}

        response = requests.get('https://openapi.naver.com/v1/search/news.json', data, headers = headers)
        
        response = response.json()

        # response['items']
        title_list = []
        for row in response['items'] :
            title_list.append(row['title'])


        return {'result':'success','items':title_list}, 200

# open api를 이용할떄 쓰는 함수는 requests다 

이것은 클라이언트가 보낸 데이터를 받을때 사용하는 request와는 다른것이다

사용법은 사용하고싶은 open api가 있는곳에서 설명서를 보고한다

이 예제는 네이버의 뉴스검색 api를 활용하였다

파라미터로는 호출 url, data, hearders가 필요하다

 

 

# 호출 url은 여기있다

 

 

 

 

# 메서드를 GET으로 사용하라고 했으므로 .get을 써준다

 

 

 

 

 

# data에는 필수로 들어가는것은 무조건 넣어주고 나머지는 선택해서 넣는다

위 에제에서는 검색어와 결과개수만 넣었다

 

 

 

# 헤더부분은 참고사항과 요청예를 보고 잘 카피해서 넣어주도록한다

 

 

 

 

# 결과를 출력해보면 잘 가져온다 

해당 예시에서는 자동차라는 검색어를 30개까지 제목만 가져오게 하였다

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

포스트맨 API 문서화하기  (0) 2023.03.10
Flask 기본 구조  (0) 2023.01.13
사진과 글을 DB에 저장하는 API  (0) 2023.01.13
S3에 저장된 이미지 객체 탐지 API  (1) 2023.01.12
S3에 이미지 업로드하는 API  (0) 2023.01.12