욱이의 냉철한 공부

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

데이터분석/Python : Crawling

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

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

 

* 목차

1. 네이버 OPEN API

2. 크롤링 가볍게 실행하기

3. 크롤링 후 원하는 데이터 추출하기

 


1. 네이버 OPEN API

=> 여기서 실행 할 블로그 OPEN API 사용 가이드를 확인해보자

https://developers.naver.com/docs/search/blog/

 

검색 API 블로그 검색 개발가이드

NAVER Developers - 검색 API 블로그 검색 개발가이드

developers.naver.com

 

1) 기본 예제 및 준비사항

- 우리는 Python으로 API를 호출한다.

2) API 기본 정보 및 요청변수

- JSON을 얻는 요청 URL을 잘 기억한다.

- query라는 변수에 우리가 원하는 검색어를 입력시킬 것이다.

3) 출력 결과

- 추후에 직접 Python으로 출력해봐서 확인한다.

2. 크롤링 가볍게 실행하기

1) 코딩 설명

- client_id, client_secret는 네이버 개발자 애플리케이션 등록으로 받아온 암호이다.

- url은 앞서 API 기본정보에서 확인 할 수 있다.

- query는 검색을 원하는 요청 변수이다

- encText는 검색어이다. 본인이 어제 '독전'이라는 영화를 봐서 '독전'을 검색하겠다.

- urllib.request.Request(url) : 해당 url을 요청한다.

- request.add_header() : add_header 함수를 사용하여 url에 접속하기 위한 보안 Id와 Secret을 입력한다.

- urllib.request.urlopen(request) : 해당 url을 open한다.

- getcode() : 해당 json 코드를 얻는다.

- if문

  해당 json코드가 정상적인 200이라면 디코드시켜 str타입으로 바꾼다.

- else문

  해당 json코드가 200이 아니라면 에러가 생긴 것이다.

2) 출력

- str로 출력 되는 것을 확인 할 수 있다.

- 아직 JSON 타입을 python 뭉탱이 타입(딕션어리, 리스트, 튜플)으로 바꾸어주어야 한다.

 

* 뭉탱이 타입

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

 

3. 크롤링 후 원하는 데이터 추출하기 - 제목만 추출하겠다.

1) 앞 서 배운 json. loads함수를 활용하여 JSON 타입을 python 뭉탱이 타입(딕션어리, 리스트, 튜플)으로 바꾸어준다.

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

 

[Python] JSON 인코딩, 디코딩

1. JSON 무엇인가 ? JSON(제이슨[1], JavaScript Object Notation)은 속성-값 쌍( attribute–...

blog.naver.com

 

2) for문을 사용하여 제목만 데이터를 긁어온다.

- jsonresult만 살펴보자면 이렇다.

- 여기서 items만 긁어온다.

- 여기서 title만 긁어온다. 리스트 안 각각의 딕션어리에서 title을 가져와야 한다. 그러기 위해서는 for문을 사용한다.