NAVER API를 사용해서 크롤링하기 - 1

1. 네이버 개발자 API 가입 & 이용 신청

네이버 API를 사용하기 위해서는 우선 네이버 개발자 센터에 가입하고 오픈 API 이용 신청을 해야 한다. 아래 링크에 들어가서 신청을 한다.

네이버 개발자 센터 : https://developers.naver.com/main/developers_naver_main.png개발자 센터 메인 페이지에서 [Application] - [애플리케이션 등록]을 누르고 약관 동의, 계정 정보 등록을 하면 아래와 같이 애플리케이션 등록을 할 수 있다.



Application_registration.png

애플리케이션 이름은 적당히 내가 원하는 이름을 적고, 사용 API에는 여러 가지가 있지만 나는 검색 API를 사용할 예정이므로 검색을 선택한다. 비 로그인 오픈 API 서비스 환경에는 Android, IOS, WEB 설정 이렇게 3가지가 있는데, 나는 로컬 컴퓨터 WEB 환경에서 사용하므로 WEB만 선택하고 URL은 http://localhost를 입력하고 등록한다.



Application_information.png등록에 완료하면 위와 같이 내가 등록한 애플리케이션에 대한 정보를 볼 수 있다. Client ID와 Client Secret은 네이버 API를 사용할 때 코드에 입력해야 하므로 따로 기록해 놓는다. 일반적인 사용자들은 하단에 보이는 것처럼 하루 API 사용량이 25,000번으로 제한되어 있다. 일일 사용량을 초과해서 사용하려면 왼쪽에 API 제휴 신청을 하면 된다.



2. 검색 API Documents

네이버 개발자 메인 페이지 상단에서 [Documents] - [서비스 API] - [검색]을 선택하면 검색 API에 대한 Documents를 아래와 같이 확인할 수 있다.search_api_documents.png

페이지를 내려서 확인해보면 Python 코드를 확인할 수 있다.

블로그 검색 API Python 코드 예제

# 네이버 검색 API예제는 블로그를 비롯 전문자료까지 호출방법이 동일하므로 blog검색만 대표로 예제를 올렸습니다.
# 네이버 검색 Open API 예제 - 블로그 검색
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)

다음 포스팅에서는 아래의 Python 코드를 사용해서 데이터를 실제로 크롤링을 해보자.
NAVER API를 사용해서 크롤링하기 - 2

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

파이썬 Python

번호 제목 글쓴이 날짜 조회수
16 비큐냐(Vicuna)와 text-generation-webu 관리자 04-17 1,290
15 Pyjosa - 파이썬 한글 조사 처리 모듈 관리자 03-11 1,262
14 Python 에서 한글 조사 을/를, 이/가, 은/는, 와/과 출력하기 관리자 06-10 2,899
13 flask multifile upload 관리자 05-25 1,359
12 Fast api로 머신러닝 기반 웹사이트 만들고 배포하기 관리자 05-16 2,164
11 CentOS에서 Python 버전 변경 관리자 05-04 1,162
10 fastapi 관리자 05-04 1,214
9 PyQt5 프린트 할 위젯 선택하고 프린트 하는 예제 관리자 02-22 1,284
8 Python 가상환경 - venv 관리자 02-15 1,039
7 MacOS에서 Pyenv PYENV_VIRTUALENV_DISABLE_PROMPT 문구 제거 하기 관리자 02-05 951
6 Mac VSCODE에서 가상환경내 Python으로 Python Interpreter 설정 관리자 02-05 1,612
5 NAVER API를 사용해서 크롤링하기 - 2 관리자 02-05 2,611
4 NAVER API를 사용해서 크롤링하기 - 1 관리자 02-05 1,033
3 selenium을 사용한 데이터 크롤링하기 관리자 02-05 972
2 Using both Python 2.x & 3.x 관리자 02-05 871
1 MacOS] Python(pyenv) 설치 및 버전관리 관리자 02-05 900