본문 바로가기
프로그래밍/Python

[Python] 파이썬으로 네이버(Naver) Open API 이용하는 방법

by _BlankSpace 2019. 6. 29.

이전 파이썬을 이용하여 다음 카카오 API를 이용하는 방법에 이어서 파이썬으로 네이버 API를 이용하는 방법도 포스팅하려 합니다.

혹시나, 카카오 API를 이용하는 방법이 궁금하시면 아래 글을 참고해주세요.

[Python] 파이썬으로 다음 카카오(Daum Kakao) Open API 이용하는 방법

 

이전 포스팅에는 적었지만, 혹시나 현재 포스팅을 바로 보시는 분들을 위해서 간단하게 오픈 API를 설명하도록 하겠습니다.

보통 네이버나 다음 카카오, 구글 및 페이스북 같은 기업에서 자신들의 서비스 또는 데이터를 자유롭게 사용할 수 있도록 API로 제공하는데, 이것을 오픈 API라고 합니다.

보통, 오픈 API는 기업에서 제공하는 데이터를 그대로 사용하지는 않습니다. 일반 개발자들은 이러한 데이터를 이용하여 비슷한 데이터를 모아서 새로운 형태로 보여 준다거나 하는 새로운 형태의 서비스를 제공하죠.

그것을 보통 매시업 API라고 합니다. 즉, 서비스들을 모아서 새로운 형태의 서비스를 만드는 것이죠.

 

이번 포스팅은 매시업 API 까지는 아니고, 네이버의 오픈 API를 사용하는 방법 정도를 정리하려고 합니다.

 

 

그럼, 바로 설명으로 들어가도록 하겠습니다.

네이버(NAVER)에서 제공하는 API를 얻기 위한 접근 권한을 획득하자.

네이버(NAVER)에서 제공하는 오픈 API들을 사용하기 위해서는 API 키라는 것을 먼저 얻어야 합니다.

API 키는 인증키 정도로만 이해하시면 될 것 같습니다. 네이버에서 아무에게나 데이터를 넘겨줄 수는 없잖아요? 적어도, 누가 어떤 API를 사용하는 지 정도는 파악하기 위한 인증키라고 할 수 있습니다.

 

바로, 네이버의 API 키를 받아보도록 하겠습니다. 먼저, 아래 NAVER Developers 링크로 들어가도록 하겠습니다.

NAVER Developers 로 가기

 

그럼, 아래 이미지처럼 네이버 디벨로퍼 페이지가 나올 것입니다.

여기서, 위의 탭 중, Application -> 애플리케이션 등록을 눌러주세요.

 

그럼, 애플리케이션을 등록하는 페이지가 나옵니다.

아래 이미지처럼 애플리케이션 이름, 사용 API, 환경 추가 등을 입력하신 후 등록하기 버튼을 눌러주세요.

- 애플리케이션은 원하시는 이름을 입력하시면 되겠습니다.

- 사용 API에서는 이번 포스팅에서 필요한 검색을 추가해주세요.

- 비로그인 오픈 API 서비스 환경에는 WEB 설정으로 http://naver.com 주소를 입력하도록 하겠습니다.

 

모두 따라하셨으면, 아래처럼 애플리케이션 정보가 나타날 거에요.

이제, Client IDClient Secret 정보를 이용하여 네이버의 오픈 API를 사용해보도록 하겠습니다.

 

 

 

 

네이버(NAVER)에서 제공하는 뉴스에서 특정 키워드로 정보를 가져오자.

이번 포스팅에서는 네이버에서 제공하는 뉴스 기사 중에서 류현진으로 검색한 정보들을 가져와보도록 하겠습니다.

 

그전에, 잠시만요! 아래 내용을 따라하기 위해서는 파이썬requests 패키지 설치가 필요합니다.

일단 파이썬이 설치되어 있지 않으신 분이라면 아래 글을 참고해주세요.

[파이썬/Python] 설치 방법 (window/linux(ubuntu)) 윈도우/우분투 설치

파이썬(Python) 설치 방법 (Linux)

 

그리고, requests 패키지 설치가 필요하다고 했었습니다. 이 패키지는 파이썬을 설치하면 보통 자동으로 설치되는 pip를 이용하여 설치할 것입니다.

혹시나 pip가 어디에 설치되어 있는 지 모르시는 분들은, 보통 아래 위치에 있을 확률이 높기 때문에 확인해보세요.

C:\[사용자 디렉토리]\AppData\Local\Programs\Python\Python37-32\Scripts

 

requests 패키지 설치 명령어는 아래와 같습니다.

pip install requests

 

설치가 모두 끝났기 때문에, 이제 네이버 뉴스 기사 중에서 류현진으로 검색한 내용을 가져와보도록 할께요.

아래 코드에서 clientId와 clientSecret 값은 위에서 만든 네이버 애플리케이션 정보 중 Client ID와 Client Secret을 각각 입력하시면 되겠습니다.

import requests
import json

url = "https://openapi.naver.com/v1/search/news?"
clientId = "[Client ID]"
clientSecret = "[Client Secret]"
queryString = "query=" + "류현진"
header = {
    "X-Naver-Client-Id":clientId,
    "X-naver-Client-secret":clientSecret
}

r = requests.get(url + queryString, headers=header)
print(json.loads(r.text))

 

해당 코드를 실행하면 아래처럼 결과가 출력됩니다. 직접 해보시면 많은 내용들을 가져올 수 있는 것을 확인할 수 있습니다.

{'lastBuildDate': 'Sat, 29 Jun 2019 15:32:52 +0900', 'total': 251986, 'start': 1, 'display': 10, 'items': [{'title': '&quot;<b>류현진</b>이 난타당한 이상한 경기&quot;…美 언론도 주목', 'originallink': 'http://isplus.live.joins.com/news/article/aid.
asp?aid=23103063', 'link': 'http://sports.news.naver.com/wbaseball/news/read.nhn?oid=241&aid=0002931204', 'description': '&quot;여러 모로 이상한 경기였다.&quot; (MLB닷컴) 메이저리그 최저 평
.... 이하 생략

 

이렇게 네이버에서 제공하는 오픈 API를 이용하여 데이터를 가져와봤습니다. 굉장히 간단히 데이터를 가져올 수 있다는 것을 느끼실 수 있을거에요.

다음 포스팅에서는 이러한 데이터를 모아서 새로운 서비스 또는 데이터를 만드는 내용을 정리하도록 하겠습니다.

이상 포스팅을 마치겠습니다.

댓글