일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터
- ggplot
- 데이터분석
- word2vec
- 그래프
- pandas
- 데이터처리
- 빅데이터
- Deeplearning
- 데이터시각화
- 주가예측
- NLP
- 머신러닝
- SQL
- Python
- CNN
- lstm
- 기계학습
- R그래프
- 딥러닝
- 그래프시각화
- R시각화
- 하둡
- 빅데이터처리
- 자연어처리
- HIVE
- R프로그래밍
- AI
- Hadoop
- r
- Today
- Total
욱이의 냉철한 공부
[데이터 크롤링] OPEN API 네이버 검색 데이터 crawling 하기_이해하기 본문
* 목차
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¶meter2=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
- 네이버 아이디로 로그인의 인증을 받아 접근 토큰(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
'데이터분석 > Python : Crawling' 카테고리의 다른 글
[데이터 크롤링] 정규표현식 (0) | 2020.04.20 |
---|---|
[데이터 크롤링] requests, BeautifulSoup (0) | 2020.04.20 |
[데이터 크롤링] 개요 (0) | 2020.04.20 |
[데이터 크롤링] OPEN API 네이버 검색 데이터 크롤링하기_실행하기 (0) | 2020.04.20 |