[파이썬]네이버 OPEN API 영화검색 사용하기
본문 바로가기
IT/파이썬

[파이썬]네이버 OPEN API 영화검색 사용하기

by SageIN 2021. 8. 9.
반응형
import requests

대학교나 학원에서 네이버 영화부분을 크롤링하는 과제를 많이 내는듯하다.

크롤링말고도 네이버에서는 하루에 2만5천건을 쓸수 있는 검색 API를 제공하고 있다.

 

API 기본 정보를 보면 

GET 타입으로 

https://openapi.naver.com/v1/search/movie.json

 

JSON 출력하는 형태로 데이터를 뽑을 수 있다.

 

GET 요청을 보낼수 있는 필수 변수를 살펴보자.

 

query : 필수이고 검색어이다. "태극기 휘날리며" 영화명을 넣자.

 

나머지 비필수 변수들은 정확한 데이터를 얻고자하면

다 채워서 보내주면 좋을듯하다. 

 

간단하게 파이썬으로 요청하는 쿼리를 짜보면.

 

import requests

통신을하기 위해 requests 모듈을 import 해주고

 

headers = {
        'Host': 'openapi.naver.com',
        'User-Agent': 'curl/7.49.1',
        'Accept': '*/*',
        'X-Naver-Client-Id': '애플리케이션 등록 시 발급받은 client id 값',
        'X-Naver-Client-Secret': '애플리케이션 등록 시 발급받은 client secret 값',

    }

requests에서 사용할 header 정보를 만들자.

X-Naver-Client-Id 와 X-Naver-Client-Secret 는

https://developers.naver.com/apps/#/wizard/register

페이지에서 애플리케이션 등록하고 발급받은 

값을 넣어주면 된다.

 

url = '	https://openapi.naver.com/v1/search/movie.json'

요청할 URL을 변수를 하나 만들어주고

 

params = {'query':'태극기 휘날리며', # 필수
          #'display': '5', # 출력수
          #'start': '1', # 시작위치
          #'genre': '1', # 장르
          #'country': 'KR', # 제작국가
          #'yearfrom': '2001',# 제작년도 시작
          #'yearto': '2005' # 제작년도 끝
          }

필수값인 query 는 꼭 넣어주고

나머지 파라미터 변수는 넣어서 보낼경우

주석을 풀고 작성해준다.

response = requests.get(url,headers=headers, params=params)

requests.get 함수에 위에서

작성한 URL, 해더, 파라미터 변수 값을 넣어주고 

통신을 요청한다.

print(response.text)
{
  "lastBuildDate": "Mon, 09 Aug 2021 12:24:42 +0900",
  "total": 1,
  "start": 1,
  "display": 1,
  "items": [
    {
      "title": "<b>태극기 휘날리며</b>",
      "link": "https://movie.naver.com/movie/bi/mi/basic.nhn?code=36666",
      "image": "https://ssl.pstatic.net/imgmovie/mdi/mit110/0366/36666_P123_112236.jpg",
      "subtitle": "TaeGukGi: Brotherhood Of War",
      "pubDate": "2003",
      "director": "강제규|",
      "actor": "장동건|원빈|이은주|",
      "userRating": "9.21"
    }
  ]
}

응답한 데이터를 뽑아보자. 

json 형태로 데이터가 나온다. 

import json

json 모듈을 import 해주고

jsonObject = json.loads(response.text)
print(jsonObject.get("lastBuildDate"))

데이터를 json 데이터를 파싱하여 필요한 정보를 얻어보자.

Mon, 09 Aug 2021 12:29:08 +0900

 

전체코드

import requests
import json

# 해더생성
headers = {
        'Host': 'openapi.naver.com',
        'User-Agent': 'curl/7.49.1',
        'Accept': '*/*',
        'X-Naver-Client-Id': '애플리케이션 등록 시 발급받은 client id 값',
        'X-Naver-Client-Secret': '애플리케이션 등록 시 발급받은 client secret 값',

    }

# 요청 URL    
url = '	https://openapi.naver.com/v1/search/movie.json'

# 요청 파라미터
params = {'query':'태극기 휘날리며', # 필수
          #'display': '5', # 출력수
          #'start': '1', # 시작위치
          #'genre': '1', # 장르
          #'country': 'KR', # 제작국가
          #'yearfrom': '2001',# 제작년도 시작
          #'yearto': '2005' # 제작년도 끝
          }

#통신
response = requests.get(url,headers=headers, params=params)

# json 파싱
jsonObject = json.loads(response.text)

# 값 확인
print(jsonObject.get("lastBuildDate"))

 

반응형

댓글


TOP

Designed by 티스토리