728x90
유튜브 영상을 보다보면 다운로드 받고싶은 영상이 있다
다운받아 저작권때문에 상업적 이용은 불가능하겠지만 개인적으로 편집연습이나 소장하고 싶을 떄 pytube를 이용한다
from pytube import YouTube
def download_video_file(video_id):
try:
url = "https://www.youtube.com/watch?v=" + video_id
yt = YouTube(url)
DOWNLOAD_FOLDER = mp4_original_source_path
stream = yt.streams.get_highest_resolution()
stream.download(DOWNLOAD_FOLDER, filename=video_id + '.mp4')
return True
except Exception as e:
print(e)
return False
간단하게 파이썬 모듈인 pytube를 import 해주고 다운로드 할 수 있는 함수를 만들었다
youtube 영상 url만 따로 만들어서 넣어주면 된다
사진과 같이 정해준 다운로드 폴더에 영상이 저장된다
# pytube이용하여 영상파일 저장
if not download_video_file(video_id):
print('라이브 실시간등 이슈로 안됨 읽음처리', res)
continue
영상 다운로드 처리 하면서 마음에 안드는 예외처리를 넣어주면 된다 (라이브 영상, 쇼츠영상 등)
파이튜브는 또한 영상의 정보만을 가져올 수도 있어서 정말 편한 것 같다
def get_video_info(video_id):
url = "https://www.youtube.com/watch?v="+video_id
yt = YouTube(url)
print("제목 : ", yt.title)
print("길이 : ", yt.length)
print("파일명 : ", video_id + '.mp4')
# print("게시날짜 : ", yt.publish_date)
# print("조회수 : ", yt.views)
# print("키워드 : ", yt.keywords)
# print("레이팅 : ", yt.rating)
# print("썸네일 : ", yt.thumbnail_url)
return yt.title, yt.length, video_id+'.mp4'
다운로드 할 필요없이 유튜브 영상의 url 만 알고 있으면 제목, 길이, 파일명, 조회수, 썸네일 등 많은 정보를 가져올 수 있다
pytube 말고도 유튜브에서 직접 제공하는 api를 이용해도 되는데 할당량과 속도문제로 pytube를 이용하고 있다
더 상세한 정보가 필요할때 api를 이용해봐야 겠다
+ 간단하게 작성해봤습니다 궁금하신점 있으시면 댓글로 남겨주세요~
728x90
'괴발개발 > python' 카테고리의 다른 글
모두가 사용하는 chatGPT... 개발자는 어떻게 사용하고 있을까? (0) | 2023.02.15 |
---|---|
moviepy를 이용한 유튜브 자동편집하기 (0) | 2023.01.29 |
PyCharm Invalid Python SDK 문제해결 (python 3.11 사용 시) (0) | 2022.11.16 |