Python下载Youtube, twitch等视频

想下载视频,浏览器插件,使用专门的下载软件都带着大量广告,最终找到解决方案,用Python可以用于下载youtube,twitch,Vimeo等视频

需要用到:
youtube_dl

简单版:

# youtbetwitchdl1.py
from __future__ import unicode_literals
import youtube_dl

ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.twitch.tv/videos/1431712971'])

下载后提示

WARNING: malformed AAC bitstream detected. Install ffmpeg or avconv to fix this automatically.

安装ffmpeg 或 avconv 解决,安装教程在这里就不提供了

进阶版:

#youtbetwitchdl2.py
from __future__ import unicode_literals
import youtube_dl

def my_hook(d):
    if d['status'] == 'finished':
        print('下载完成,正在转换...')

ydl_opts = {
    'format': 'bestaudio/best',# 格式清晰度
    'outtmpl': '%(id)s',# 文件名
    'noplaylist' : True,# 如果有疑问,请下载单个视频而不是播放列表。
    'progress_hooks': [my_hook],
}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download(['https://www.youtube.com/watch?v=r8t7T4bVGWo'])

获取视频信息:

#youtbetwitchdl3.py
from __future__ import unicode_literals
import youtube_dl

ydl_opts = {}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    meta = ydl.extract_info(
        'https://www.youtube.com/watch?v=tgF5mK6pncA', download=False) # download=False 在不下载视频的情况下获取视频信息

print 'upload date : %s' %(meta['upload_date'])
print 'uploader    : %s' %(meta['uploader'])
print 'views       : %d' %(meta['view_count'])
print 'likes       : %d' %(meta['like_count'])
print 'dislikes    : %d' %(meta['dislike_count'])
print 'id          : %s' %(meta['id'])
print 'format      : %s' %(meta['format'])
print 'duration    : %s' %(meta['duration'])
print 'title       : %s' %(meta['title'])
print 'description : %s' %(meta['description'])

版权声明:
作者:José
链接:https://www.josejang.com/about-work/301.html
来源:José's ⎝⏠⏝⏠⎠ Blog
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>