Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 멋쟁이 사자처럼
- 파이썬
- 크롤링
- 멋사
- 멋쟁이사자처럼
- 파이썬 크롤링
- 멋사 서류평가
- 멋사 서류
- API
- discord
- 멋사 합격
- IT동아리
- 코딩동아리
- 멋쟁이사자처럼10기
- 디스코드봇
- django
- 멋쟁이사자처럼대학
- 기사 제목 크롤링
- 웹동아리
- 알림봇
- 멋사 10기
- 멋사12
- 백엔드
- 멋사10기
- 깃허브
- 멋쟁이사자처럼11기
- ㅏㄴ
- 멋사 면접
- 멋쟁이사자처럼 서류
- 멋사11기
Archives
- Today
- Total
ACHO.pk devlog
[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(API 다루기) 본문
API 다루기
외부에서부터 정보를 우리가 만든 웹사이트로 가져오는 방법
https://developers.naver.com/docs/serviceapi/search/movie/movie.md
1. 오픈 API 이용 신청
2. API 사용하기
네이버 서버에 요청을 보내고 응답을 받아야 한다.
나는 JSON 파일 형식으로 응답을 받는 방식을 선택했다.
https://openapi.naver.com/v1/search/movie.json
- 한국 영화 중에서 장르가 2번(=판타지)인 영화만 검색
https://openapi.naver.com/v1/search/movie.json?genre=2&country=KR
- 영화 검색을 할 때, 검색어에 해당하는 내용이 'query'이다.
https://openapi.naver.com/v1/search/movie.json?query='기생충'
파이썬 파일에서 정보 받아보기
아래 사이트에 API를 어떤 방식으로 사용해야하는지 언어별로 나와있다.
https://developers.naver.com/docs/serviceapi/search/blog/blog.md#%EB%B8%94%EB%A1%9C%EA%B7%B8
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에 대한 정보를 요청
# 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)
영화 API 사용해서 '한국' 키워드 영화 검색
encText = urllib.parse.quote("한국")
url = "https://openapi.naver.com/v1/search/movie.json?query=" + encText
- 영화 정보가 리스트 형식으로 담겨있음
원하는 데이터만 출력해서 보기
pydata = json.loads(resdata)
data = pydata['items']
print(data, "\n")
print(data[0], "\n")
print(data[0]['title'])
응답받은 내용을 json파일로 내보내기
# 네이버 검색 API예제는 블로그를 비롯 전문자료까지 호출방법이 동일하므로 blog검색만 대표로 예제를 올렸습니다.
# 네이버 검색 Open API 예제 - 블로그 검색
import os
import sys
import urllib.request
import json
client_id = "svBzv6zLHpbpRVhS5FcB"
client_secret = "6MSy15mrab"
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 결과
url = "https://openapi.naver.com/v1/search/movie.json?query=" + encText
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)
resdata = response_body.decode('utf-8')
with open('movie.json', 'w', encoding = 'UTF-8') as file:
file.write(json.dumps(resdata, ensure_ascii=False)) #어떤 json 데이터를 가져옴
'멋쟁이사자처럼' 카테고리의 다른 글
[멋쟁이사자처럼11기] Django 구조 및 동작 원리 (0) | 2023.02.02 |
---|---|
[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(영화 데이터 가져오기) (0) | 2022.07.20 |
[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(소셜 로그인) (0) | 2022.07.19 |
[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(외부 db 연동하기) (0) | 2022.07.15 |
[멋쟁이사자처럼10기] Django 개발자 대나무숲 프로젝트(Pagination) (0) | 2022.07.14 |
Comments