• 파파고 번역 api
  • 통합검색어 트렌드 api

라이브러리 임포트

import pandas as pd
import requests, json

0. request token 얻기

  1. Request Token 얻기 : 애플리케이션등록 -> app_key 획득
  2. app_key를 이용해서 데이터 가져오기
CLIENT_ID, CLIENT_SECRET = "클라이언트 아이디", "클라이언트 시크릿"

1. 파파고 번역 api

# 1. URL
url = "https://openapi.naver.com/v1/papago/n2mt"
# 2. request > response
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
# 3. parsing
response.json()["message"]["result"]["translatedText"]
  • 함수로 만들어준다
# 4. 함수로 만들기
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 설정 > 데이터랩(검색어 트렌드) 추가
  • 사용법
# 1. URL
url = "https://openapi.naver.com/v1/datalab/search"
# 2. request > response
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
  • 응답 확인

# 3. parsing
datas = response.json()["results"]
dfs = []
for data in datas:
    df = pd.DataFrame(data["data"])
    df["title"] = data["title"] # 트위터, 페이스북, 인스타그램
    dfs.append(df)
# 4. preprocessing
result_df = pd.concat(dfs, ignore_index=True)
result_df.tail(2)

  • 시각화
# 5. visualization
%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()
profile
지식을 담습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN