pytubefix
Pytubefix 8.3.2 Released
pip install pytubefix
from pytubefix import YouTubefrom pytubefix.cli import on_progress url = "url" yt = YouTube(url, on_progress_callback = on_progress)print(yt.title) ys = yt.streams.get_highest_resolution()ys.download()
from pytubefix import YouTubefrom pytubefix.cli import on_progress url = "url" yt = YouTube(url, on_progress_callback = on_progress)print(yt.title) ys = yt.streams.get_audio_only()ys.download(mp3=True)
from pytubefix import Playlistfrom pytubefix.cli import on_progress url = "url"pl = Playlist(url)for video in pl.videos:ys = video.streams.get_audio_only()ys.download(mp3=True)
from pytubefix import YouTubefrom pytubefix.cli import on_progress url = "url"yt = YouTube(url, use_oauth=True, allow_oauth_cache=True, on_progress_callback = on_progress) ys = yt.streams.get_highest_resolution()ys.download() # you will only get the request to authenticate once you download
from pytubefix import YouTubefrom pytubefix.cli import on_progressurl = "url"yt = YouTube(url, on_progress_callback = on_progress)ys = yt.streams.get_highest_resolution()ys.download(output_path="path/to/directory")
from pytubefix import YouTubeyt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')subtitles = yt.captionsprint(subtitles)
from pytubefix import YouTube yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')caption = yt.captions['a.en']print(caption.generate_srt_captions())
from pytubefix import YouTube yt = YouTube('http://youtube.com/watch?v=2lAe1cqCOXo')caption = yt.captions['a.en']caption.save_captions("captions.txt")
from pytubefix import Channelc = Channel("https://www.youtube.com/@ProgrammingKnowledge/featured")print(f'Channel name: {c.channel_name}')
from pytubefix import Channelc = Channel("https://www.youtube.com/@ProgrammingKnowledge")print(f'Downloading videos by: {c.channel_name}')for video in c.videos:download = video.streams.get_highest_resolution().download()
>>> from pytubefix import Search>>> >>> results = Search('Github Issue Best Practices')>>> >>> for video in results.videos: ... print(f'Title: {video.title}') ... print(f'URL: {video.watch_url}') ... print(f'Duration: {video.length} sec') ... print('---') ... Title: Good Practices with GitHub IssuesURL: https://youtube.com/watch?v=v1AeHaopAYEDuration: 406 sec---Title: GitHub Issues Tips and GuidelinesURL: https://youtube.com/watch?v=kezinXSoV5ADuration: 852 sec---Title: 13 Advanced (but useful) Git Techniques and ShortcutsURL: https://youtube.com/watch?v=ecK3EnyGD8oDuration: 486 sec---Title: Managing a GitHub Organization Tools, Tips, and Best Practices - Mark MatyasURL: https://youtube.com/watch?v=1T4HAPBFbb0Duration: 1525 sec---Title: Do you know the best way to manage GitHub Issues?URL: https://youtube.com/watch?v=OccRyzAS4VcDuration: 534 sec--->>>
>>> from pytubefix.contrib.search import Search, Filter>>> >>> >>> f = { ... 'upload_data': Filter.get_upload_data('Today'), ... 'type': Filter.get_type("Video"), ... 'duration': Filter.get_duration("Under 4 minutes"), ... 'features': [Filter.get_features("4K"), Filter.get_features("Creative Commons")], ... 'sort_by': Filter.get_sort_by("Upload date") ... }>>> >>> s = Search('music', filters=f)>>> for c in s.videos: ... print(c.watch_url) ... https://youtube.com/watch?v=_Rq8MzYz0YUhttps://youtube.com/watch?v=YHPGM8nBk3Uhttps://youtube.com/watch?v=m98WShs7MLEhttps://youtube.com/watch?v=-vBqfC3Nir0https://youtube.com/watch?v=LbtrnCjopwkhttps://youtube.com/watch?v=pfl2ga6AS3chttps://youtube.com/watch?v=TzNk2ygEU4chttps://youtube.com/watch?v=yQfXVRKvA70https://youtube.com/watch?v=G5tQX990XU0https://youtube.com/watch?v=4LQzYMhtXV8https://youtube.com/watch?v=BOLGwdjCSAohttps://youtube.com/watch?v=CgSH3Ww3MHshttps://youtube.com/watch?v=_43tx98VEWchttps://youtube.com/watch?v=wLDRGZaBEoQhttps://youtube.com/watch?v=3qaHb2t3Lkwhttps://youtube.com/watch?v=56deLmbicLghttps://youtube.com/watch?v=pQk2TzmwnS0https://youtube.com/watch?v=NJ3sOlg8KGohttps://youtube.com/watch?v=kfDSHjlk4Pghttps://youtube.com/watch?v=8KHak4ZNO3k>>>