728x90
파파고 API를 사용하기 위한 라이브러리 설치
pip install requests
app.py
from flask import Flask
from flask_restful import Api
from flask_jwt_extended import JWTManager
from config import Config
from resources.naver import NaverPapagoResource, NaverSearchResource
app = Flask(__name__)
jwt = JWTManager(app)
api = Api(app)
# 경로를 리소스와 연결한다.
api.add_resource(NaverSearchResource,'/news')
api.add_resource(NaverPapagoResource,'/chinese')
if __name__ == '__main__' :
app.run()
naver.py
필요 라이브러리 import
from flask import request
from flask_restful import Resource
from flask_jwt_extended import create_access_token,jwt_required,get_jwt
from flask_jwt_extended import create_access_token,jwt_required,get_jwt
from mysql.connector import Error
from mysql_connection import get_connection
from datetime import datetime
import boto3
from config import Config
import requests
네이버 뉴스 검색 API 코드 (get)
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()
# print(response['items'][0]['title'])
title_list=[]
for row in response['items'] :
title_list.append(row['title'])
return {'result' : 'success' , 'items' : title_list} , 200
네이버 파파고 번역 API (post)
class NaverPapagoResource(Resource) :
def post(self) :
# {"content":"안녕하세요~"}
data = request.get_json()
headers = {'X-Naver-Client-Id':Config.NAVER_CLIENT_ID,'X-Naver-Client-Secret':Config.NAVER_CLIENT_SECRET,
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
# 네이버 파파고 api 호출
req_data = {'source':'ko','target':'zh-CN','text': data['content']}
response=requests.post('https://openapi.naver.com/v1/papago/n2mt',req_data,headers=headers)
response=response.json()
result_text = response['message']['result']['translatedText']
return {'result':'success','result_text':result_text}
Json 구조 파악 :https://jsoneditoronline.org/
네이버 검색 API : https://developers.naver.com/docs/serviceapi/search/news/news.md#%EB%89%B4%EC%8A%A4
네이버 파파고 번역 API : https://developers.naver.com/docs/papago/papago-nmt-overview.md
'Rest API' 카테고리의 다른 글
CLOVA Summary를 활용해 리뷰 요약 API 만들기 (0) | 2023.04.03 |
---|---|
AWS Rekognition 얼굴비교, 이미지 내 텍스트 추출하기 (0) | 2023.02.21 |
AmazonRekognition을 사용하여 객체탐지(Object detection) / 사진과 문장을 업로드하는 SNS의 Posting API 개발 (0) | 2023.01.13 |
AmazonRekognition을 사용하여 객체탐지(Object detection) / 자동 태그 API 개발 (0) | 2023.01.13 |
AmazonRekognition을 사용하여 객체탐지(Object detection) API 개발 (0) | 2023.01.12 |