源代码不能用了,就稍微改了一哈,可以了。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其实都用不上。