youtube python 中文_youtube dl python库文档

江同化
2023-12-01

在源中检查此文件:^{}

您需要选项dict(最初使用从命令行接收的参数生成):ydl_opts = {

'usenetrc': opts.usenetrc,

'username': opts.username,

'password': opts.password,

# ... all options list available in sources

'exec_cmd': opts.exec_cmd,

}

然后创建YoutubeDL实例并调用一些具有自述名称的方法:with YoutubeDL(ydl_opts) as ydl:

ydl.print_debug_header()

ydl.add_default_info_extractors()

# PostProcessors

# Add the metadata pp first, the other pps will copy it

if opts.addmetadata:

ydl.add_post_processor(FFmpegMetadataPP())

if opts.extractaudio:

ydl.add_post_processor(FFmpegExtractAudioPP(preferredcodec=opts.audioformat, preferredquality=opts.audioquality, nopostoverwrites=opts.nopostoverwrites))

if opts.recodevideo:

ydl.add_post_processor(FFmpegVideoConvertor(preferedformat=opts.recodevideo))

if opts.embedsubtitles:

ydl.add_post_processor(FFmpegEmbedSubtitlePP(subtitlesformat=opts.subtitlesformat))

if opts.xattrs:

ydl.add_post_processor(XAttrMetadataPP())

if opts.embedthumbnail:

if not opts.addmetadata:

ydl.add_post_processor(FFmpegAudioFixPP())

ydl.add_post_processor(AtomicParsleyPP())

# Please keep ExecAfterDownload towards the bottom as it allows the user to modify the final file in any way.

# So if the user is able to remove the file before your postprocessor runs it might cause a few problems.

if opts.exec_cmd:

ydl.add_post_processor(ExecAfterDownloadPP(

verboseOutput=opts.verbose, exec_cmd=opts.exec_cmd))

# Update version

if opts.update_self:

update_self(ydl.to_screen, opts.verbose)

# Remove cache dir

if opts.rm_cachedir:

ydl.cache.remove()

# Maybe do nothing

if (len(all_urls) < 1) and (opts.load_info_filename is None):

if not (opts.update_self or opts.rm_cachedir):

parser.error(u'you must provide at least one URL')

else:

sys.exit()

try:

if opts.load_info_filename is not None:

retcode = ydl.download_with_info_file(opts.load_info_filename)

else:

retcode = ydl.download(all_urls)

except MaxDownloadsReached:

ydl.to_screen(u'--max-download limit reached, aborting.')

retcode = 101

 类似资料: