간단한 영화 녹화 시스템
3459 단어 portfoliocomputersciencepython
다음 블로그 게시물에서 포트폴리오용으로 만들 수 있는 샘플 프로젝트를 안내하거나 트리, 해시맵 등과 같은 데이터 구조를 사용하는 방법에 대한 아이디어로 안내해 드리겠습니다.
이 블로그 게시물의 핵심 의도는 포트폴리오에 사용하여 기술을 강조할 수 있는 간단한 프로젝트를 만드는 것입니다.
이 게시물의 주요 초점은 다음을 사용하는 것입니다.
프로젝트는 themoviedb API를 사용하여 특정 장르에 속하는 20편의 영화 데이터를 가져옵니다. API 키는 themoviedb 에서 계정을 생성한 후 생성할 수 있습니다.
다음 단계에서는 json 및 요청 라이브러리를 사용합니다.
genres = requests.get(f"https://api.themoviedb.org/3/genre/movie/list?api_key={api_key}&language=en-US")
genre_data = genres.json()
API 데이터는 다음과 같습니다.{'장르': [{'id': 28, '이름': '액션'},
{'id': 12, 'name': '모험'},
{'id': 16, 'name': '애니메이션'},
{'id': 35, 'name': '코미디'},
{'id': 80, 'name': '범죄'},
{'아이디': 99, '이름': '다큐멘터리'},
{'id': 18, 'name': '드라마'},
{'id': 10751, '이름': '가족'},
{'id': 14, 'name': '판타지'},
{'id': 36, '이름': '기록'},
{'id': 27, 'name': '공포'},
{'id': 10402, '이름': '음악'},
{'id': 9648, '이름': '미스터리'},
{'아이디': 10749, '이름': '로맨스'},
{'id': 878, 'name': 'SF'},
{'id': 10770, 'name': 'TV 영화'},
{'id': 53, 'name': '스릴러'},
{'id': 10752, '이름': '전쟁'},
{'id': 37, 'name': '서양'}]}
API를 통해 다음 단계에서 사용 가능한 모든 장르를 얻었습니다. 장르를 사용하여 각 장르에서 20편의 영화를 수집합니다.
data = []
for genre in genre_name:
r = requests.get(f"https://api.themoviedb.org/3/discover/movie?api_key={api_key}&language=en-US&sort_by=popularity.desc&include_adult=false&include_video=false&page=1&with_genres={genre}&with_watch_monetization_types=flatrate")
movie_data = r.json()
for i in movie_data['results']:
movie_temp = []
movie = [i['title'],i['vote_average'],i['release_date'],i['popularity'],i['overview'], genre]
movie_temp.append(movie)
data += movie_temp
장르 이름은 모든 장르를 포함하는 목록입니다. 각 장르를 반복하고 그에 따라 API 키를 변경합니다. 다음 단계에서는 API 결과를 반복하고 데이터에 추가되는 목록 목록에 배치합니다. 결과 목록은 다음과 같습니다.
[['스파이더맨: 노 웨이 홈', 8.6, '2021-12-15', 20686.826, '피터 파커가 가면을 벗고 더 이상 헤어질 수 없는...', '액션'],
['베놈: 살육을 시키자', 7.2, '2021-09-30', 7992.617, '탐정 에디브록에서 숙주를 찾은 뒤...', '액션']]
데이터를 가져와서 video_data.py에 저장한 후 프로젝트의 데이터 구조로 사용할 간단한 TreeNode 클래스를 만듭니다. 트리는 단순하며 각 장르에 대한 시작 노드와 노드를 포함합니다. 각 장르 노드에는 19개 장르에서 최대 380개의 노드를 추가하는 20개의 영화가 포함되어 있습니다.
다음 단계는 사용자 입력과 그가 보고 싶은 장르의 정보를 얻는 것입니다. 사용자는 영화를 선택하는 몇 가지 방법이 있습니다. 첫 번째 방법은 1-19 사이의 숫자를 사용하거나 명령줄에 장르를 쓰는 것입니다.
사용자는 선택한 장르의 영화를 보고 싶은지 묻습니다. 그 후, 그는 추천 영화의 양을 얻기 위해 다시 메시지를 받습니다. 결국 사용자는 다른 추천을 받거나 추천 시스템을 종료할 수 있습니다.
다음은 rec sys의 작동을 강조하는 gif입니다.
내 github 리포지토리를 탐색하는 데 시간을 내주셔서 대단히 감사합니다. 어떤 종류의 피드백도 환영합니다.
unsplash의 표지 이미지
Reference
이 문제에 관하여(간단한 영화 녹화 시스템), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lukas_f/simple-movie-rec-sys-5203텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)