반응형
NAVER NEW SEARCH Open API를 이용해 검색 API 만들기
https://developers.naver.com/docs/serviceapi/search/news/news.md#%EB%89%B4%EC%8A%A4
뉴스 - Search API
뉴스 NAVER Developers - 검색 API 뉴스 검색 개발가이드 검색 > 뉴스 네이버 뉴스 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시
developers.naver.com
NAVER의 Open API인 Search API를 이용해 뉴스 검색을 해보자
1. NAVER News Search API를 사용하기위해 네이버 개발자 센터에서 애플리케이션을 등록(API 이용신청)한다.
2. 다른 API를 이용하려면 requests 라이브러리를 이용하면 된다.
3. 위의 NAVER News Search API 링크를 참고하여 app.py 파일에 클래스를 연결해본다.
app.py
from flask import Flask
from flask_jwt_extended import JWTManager
from flask_restful import Api
from config import Config
from resources.naver import NaverPapagoEnResource, NaverPapagoResource, NaverSearchResource
app = Flask(__name__)
# 환경변수 셋팅
app.config.from_object(Config)
# JWT Token Library 만들기
jwt = JWTManager(app)
api = Api(app)
api.add_resource(NaverPapagoResource, '/chinese')
api.add_resource(NaverPapagoEnResource, '/en')
api.add_resource(NaverSearchResource, '/search')
if __name__ == '__main__' :
app.run()
naver.py
from datetime import datetime
from http import HTTPStatus
from flask import request
from flask_jwt_extended import get_jwt_identity, jwt_required
from flask_restful import Resource
from config import Config
import requests
class NaverSearchResource(Resource) :
def get(self) :
query = request.args['query']
display = request.args['display']
sort = request.args['sort']
data = { 'query' : query, 'display' : display, 'sort' : sort}
headers = { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Naver-Client-Id' : Config.NAVER_CLIENT_ID,
'X-Naver-Client-Secret' : Config.NAVER_CLIENT_SECRET }
res = requests.get(Config.NAVER_NEWS_SEARCH_URL, params = data, headers = headers)
res = res.json()
#print(res)
# res의 display와 itemsaks 만 있으면 된다
return{ 'result' : 'success',
'count' : res['display'],
'items' : res['items'] }, 200
4. POSTMAN으로 TEST

반응형
'BackEnd' 카테고리의 다른 글
| FastAPI에서 Websocket을 이용한 채팅 기능 만들기 (0) | 2023.02.26 |
|---|---|
| 공공데이터 Open API xml parsing하는 코드 (0) | 2022.08.24 |
| API - NAVER PAPAGO Open API 사용하기 (0) | 2022.06.30 |
| API - Amazon Rekognition 사용해 이미지 객체식별 API 만들기 (0) | 2022.06.25 |
| API - Python용 AWS Library 인 boto3 library를 이용해 S3 파일 업로드하기 (0) | 2022.06.24 |