Naver Rest API
라이브러리 임포트
import pandas as pd
import requests, json
0. request token 얻기
- Request Token 얻기 : 애플리케이션등록 -> app_key 획득
- app_key를 이용해서 데이터 가져오기
CLIENT_ID, CLIENT_SECRET = "클라이언트 아이디", "클라이언트 시크릿"
1. 파파고 번역 api
url = "https://openapi.naver.com/v1/papago/n2mt"
msg = "데이터 사이언스는 재미있습니다."
params = { "source": "ko", "target": "en", "text": msg }
headers = {
"Content-Type": "application/json",
"X-Naver-Client-Id": CLIENT_ID,
"X-Naver-Client-Secret": CLIENT_SECRET,
}
response = requests.post(url, json.dumps(params), headers=headers)
response
response.json()["message"]["result"]["translatedText"]
def translate(msg):
url = "https://openapi.naver.com/v1/papago/n2mt"
params = { "source": "ko", "target": "en", "text": msg }
headers = {
"Content-Type": "application/json",
"X-Naver-Client-Id": CLIENT_ID,
"X-Naver-Client-Secret": CLIENT_SECRET,
}
response = requests.post(url, json.dumps(params), headers=headers)
return response.json()["message"]["result"]["translatedText"]
msg = "데이터 분석 및 크롤링"
translated_text = translate(msg)
translated_text
2. 통합검색어 트렌드 api
- 서비스
- 내 애플리케이션 > dss 애플리케이션 > API 설정 > 데이터랩(검색어 트렌드) 추가
- 사용법
url = "https://openapi.naver.com/v1/datalab/search"
params = {
"startDate": "2018-01-01",
"endDate": "2022-01-31",
"timeUnit": "month",
"keywordGroups": [
{"groupName": "트위터", "keywords": ["트위터", "트윗"]},
{"groupName": "페이스북", "keywords": ["페이스북", "페북"]},
{"groupName": "인스타그램", "keywords": ["인스타그램", "인스타"]},
]
}
headers = {
"Content-Type": "application/json",
"X-Naver-Client-Id": CLIENT_ID,
"X-Naver-Client-Secret": CLIENT_SECRET,
}
response = requests.post(url, data=json.dumps(params), headers=headers)
response
datas = response.json()["results"]
dfs = []
for data in datas:
df = pd.DataFrame(data["data"])
df["title"] = data["title"]
dfs.append(df)
result_df = pd.concat(dfs, ignore_index=True)
result_df.tail(2)
%matplotlib inline
%config InlineBackend.figure_formats = {'png', 'retina'}
import matplotlib.pyplot as plt
pivot_df.plot(figsize=(20, 5))
plt.legend(loc=0)
plt.show()