네이버 API 신청하기
네이버 오픈 API를 사용하려면 NAVER Devlopers에 접속하여 오픈 API 신청을 해야 합니다.
NAVER Developers
네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다.
제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음성인식, 음성합성 등이 있습니다.
Product> 서비스 API> 데이터랩 에 들어가면 아래와 같이 API 신청을 할 수 있습니다.
하단의 "오픈 API 신청"을 누르면 나타나는 아래의 화면에서 "Application 등록"을 클릭해 봅시다.
아래의 페이지에 애플리케이션 이름, 사용 API는 "검색"으로, 서비스환경은 WEB 설정
URL은 예시에 나온 http:://naver.com로 설정을 해줍니다. 그리고 "등록하기"를 클릭해 줍니다.
이렇게 TEST_2의 이름을 가진 오픈 API가 만들어졌습니다. (이름은 자유롭게 설정해 주세요.) 이제 이 ID를 활용하여 API를 사용하여 보도록 합시다.
네이버 오픈 API 사용법
발급받은 오픈 API를 사용하기 위해서 Documents>검색 을 클릭합니다.
그러면 아래와 같이 블로그, 뉴스, 책, 영화 등등 API 사용 방법이 여러 프로그래밍 언어로 나와 있습니다.
위에서부터 스크롤 다운을 하여 내려보면 Python 예제가 보일 것입니다.
이 상태에서 스크롤 다운을 하여 아래로 더 내려보면
요청 변수, 출력결과 등의 설명이 있습니다. 꼭 읽어보도록 합시다.
아래는 예제 코드입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
encText = urllib.parse.quote("검색할 단어")
url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # xml 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
|
cs |
위에 예제를 이용하여 "상암 맛집" 키워드와 관련된 블로그 내용을 JSON으로 받아와 봅시다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import os
import sys
import urllib.request
client_id = "******************" #발급받은 ID 입력
client_secret = "**************" #발급받은 PW 입력
encText = urllib.parse.quote("상암 맛집") # 검색할 단어 입력
url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # xml 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
|
cs |
[결과]
위와 같이 결과를 확인 할 수 있습니다.
네이버 뉴스 예제도 한 번 봅시다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import os
import sys
import urllib.request
client_id = "********************" #발급받은 id입력
client_secret = "**************" #발급받은 pw 입력
quote = input("검색어를 입력해 주세요: ") #검색어 입력받기
num = input("검색 건수를 적어주세요(최대 100, 숫자만 입력): ") #최대 검색건수
encText = urllib.parse.quote(quote) # 검색단어 입력
url = "https://openapi.naver.com/v1/search/news?query=" + encText + "&display=" + num # json 결과
# url = "https://openapi.naver.com/v1/search/news.xml?query=" + encText # xml 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
|
cs |
[결과]
블로그 예제와의 차이는 url의 차이입니다. 다른 검색도 url을 바꾸어서 할 수 있으니 참고 바랍니다.
마무리
블로그 뿐만이 아니라 뉴스 , 카페글 등 네이버 오픈 API를 통해 관련 검색 글을 간편하게 불러올 수 있습니다.
'공공 빅데이터 청년 인턴십 > Python' 카테고리의 다른 글
Python - 외부데이터 수집 및 정제(4) (0) | 2021.08.24 |
---|---|
Python - 외부데이터 수집 및 정제(3) (0) | 2021.08.24 |
Python - 외부데이터 수집 및 정제(2) (0) | 2021.08.24 |
Python - 외부데이터 수집 및 정제(1) (0) | 2021.08.24 |
Python - 크롤링 (0) | 2021.08.24 |