욱이의 냉철한 공부

[데이터 크롤링] OPEN API 네이버 검색 데이터 crawling 하기_이해하기 본문

데이터분석/Python : Crawling

[데이터 크롤링] OPEN API 네이버 검색 데이터 crawling 하기_이해하기

냉철한 욱 2020. 4. 20. 15:29

 


* 목차

1. OPEN API 사용하기 전에 이해하기 - OPEN API

2. OPEN API 사용하기 전에 이해하기 - URL

3. OPEN API 사용하기 전에 이해하기 - REQUEST

4. OPEN API 사용하기 전에 이해하기 - JSON DECODING

5. OPEN API 사용하기 전에 이해하기 - NAVER OPEN API


1. OPEN API 사용하기 전에 이해하기 - OPEN API

- API

운영체제나 시스템, 애플리케이션, 라이브러리 등을 활용해 응용 프로그램을 작성할 수 있게 하는 다양한 인터페이스를 의미합니다. Window API, Java API, HTML5 API, Android API 등이 있습니다.

https://terms.naver.com/entry.nhn?docId=1179553&cid=40942&categoryId=32837

 

- OPEN API

1)

자신이 보유한 정보나 애플리케이션 등을 타 정보 시스템에서 네트워크를 통하여 활용할 수 있도록 공개하는 것으로써 데이터를 제어할 수 있는 간단하고 직관적인 인터페이스의 제공을 통해 사용자의 참여를 유도하는 사용자 중심의 비즈니스 모델

[네이버 지식백과] OPEN-API (ITS 용어사전, 2010., 한국지능형교통체계협회)

2)

API 중에서 플랫폼의 기능 또는 콘텐츠를 외부에서 웹 프로토콜(HTTP)로 호출해 사용할 수 있게 개방한 API를 의미합니다. 네이버 개발자센터에서 제공하고 있는 지도, 검색을 비롯 기계 번역, 캡챠, 단축 URL 등 대부분 API는 HTTP로 호출할 수 있는 오픈 API에 해당합니다.

[출저 : NAVER API 공통 가이드]

- 애플리케이션

애플리케이션은 API를 활용해 만들어진 다양한 프로그램 결과물입니다. 네이버 개발자센터에서는 개발자가 네이버 오픈 API를 활용해 웹 서비스, 모바일 웹 서비스, 모바일 앱 등을 의미합니다. 네이버 오픈 API를 이용하려면 네이버 개발자센터의 애플리케이션 등록 메뉴에서 애플리케이션 정보를 등록해야 합니다.

[출저 : NAVER API 공통 가이드]

2. OPEN API 사용하기 전에 이해하기 - URL

http://www.site.com/page.html?parameter1=value1&parameter2=value2

- ?부터 query string이 시작된다.

- parameter = value로 구성된다.

- &로 여러 개를 분리한다.

3. OPEN API 사용하기 전에 이해하기 - REQUEST

- urllib의 request.urlopen 함수를 이용해서 웹사이트의 정보를 가져온다.

* getcode() : 200 -> 객체코드를 가져왔다는 것을 의미한다.

* geturl() : url만 가져왔다.

* getheaders() : 해당 사이트 기본정보들을 가져온다.

- 가져온 정보는 bytes 타입이기 때문에 str로 바꿔줘야 한다. -> decode함수 사용

* read() : 가져온 객체를 읽는다.

* decode() : bytes에서 str로 바꾼다.

- 다른 방법으로 requests 모듈도 활용할 수 있다.

4. OPEN API 사용하기 전에 이해하기 - JSON DECODING

- JSON Decoding

JSON 문자열을 Python 뭉탱이 타입(딕션어리, 리스트, 튜플)로 변경하는 작업이다.

json.loads() 함수를 사용하여 문자열을 Python 뭉탱이 타입으로 변경한다.

반대작업은 JSON encoding이다.

- 본 링크를 들어가서 참고한다.

https://blog.naver.com/ehdsnck/221315785504

 

5. OPEN API 사용하기 전에 이해하기 - NAVER OPEN API

https://developers.naver.com/

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음성인식, 음성합성 등이 있습니다.

developers.naver.com

- 네이버 아이디로 로그인의 인증을 받아 접근 토큰(access token)을 획득해야 사용할 수 있는 API비로그인 방식 OPEN API가 있다.

- 비로그인 방식 오픈 API는 네이버의 뉴스, 블로그 및 카페의 글들을 로그인 하지 않고 비로그인 방식으로 데이터를 조회하여 가지고 올 수 있다.

- 비로그인 방식 오픈 API는 HTTP 헤더에 클라이언트 ID와 secret 값만 추가하여 전송하면 데이터를 가져올 수 있다.

- 하지만 약간의 제안 사항이 있다.

1) API 호출이 일 25,000회로 제한되어 있다. 최대 한 번 호출에 100개의 검색을 가져 올 수 있다.

2) 네이버에서 데이터를 검색하면 뉴스에서만 약 43만건의 데이터가 검색된다. 하지만 최대 1000개만 API를 이용하여 가지고 올 수 있다.

- 비로그인 방식 오픈 API를 사용하기 위해서 애플리케이션 등록을 한다.

1) naver 개발자 사이트에서 'Application-애플리케이션 등록' 메뉴에서 등록하면 된다.

* 등록 과정에서 애플리케이션 이름은 임의로 설정한다.

* 등록 과정에서 애플리케이션 혹은 서비스를 임의로 한다는 web 설정을 환경설정하고 웹 서비스 URL은 http://localhost라고 지정한다.

2) 등록 후 '내 애플리케이션' 에서 등록한 애플리케이션을 선택하면 Client ID와 Client Secret 값을 확인 할 수 있다.

=> 크롤링 실행하는 방법

https://blog.naver.com/ehdsnck/221324320469

 

[데이터 크롤링] OPEN API 네이버 검색 데이터 크롤링하기 - 실행하기

사전 지식 터득하고 크롤링 해요~!https://blog.naver.com/ehdsnck/221324315944​​목차1. 네이버 OPE...

blog.naver.com