用you-get批量下载bilibili的视频列表

源代码不能用了,就稍微改了一哈,可以了。https://lolicon.link/2016/08/07/yet-another-method-to-download-video-from-bilibili/
用的是you-get下载的,方法是

python download.py [视频链接] [分p数]
#!/usr/bin/env python
#coding:utf-8

import sys
from subprocess import call

def check_and_go(args):
    try:
        if not (args[0] and args[1]):
            usage_tip(0)
        if "index" in args[0]:
            usage_tip(2)
        else:
            if args[1] == 0:
                usage_tip(2)
            else:
                bilibili_down_them_all(args[0],int(args[1]))
    except IndexError:
        usage_tip(0)
    except ValueError:
        usage_tip(1)

def bilibili_down_them_all(link,p_count):
    for i in range(1,p_count+1):
        print("Start downloading...\n%s\n" % link)
        call("you-get -d " + link + "?p_" + str(i) + ".html", shell=True)

def usage_tip(exit_flag):
    if exit_flag == 0:
        print("Missing parameters !\n")
    else:
        print("Please check you parameters !\n")
    print("Usage: python bilibili_download_them_all.py [PageLink] [VideoCount]")
    print("Example: python bilibili_download_them_all.py http://www.bilibili.com/video/av4432868/ 9")
    sys.exit(exit_flag)

if __name__ == "__main__":
    check_and_go(sys.argv[1:])

我检查了一下b站的视频播放页面,发现和Youtube类似,其实是可以直接获取分段视频的链接的,这样用requests下载后直接用ffmpeg拼接起来就可以了,连youget其实都用不上。

猜你喜欢

转载自blog.csdn.net/qq_38339832/article/details/79815842