文章代码更新
往期参考:blog.csdn.net/weixin_4447…
遇到的问题:
艺术字标题解码gbk不出来,也不能当做路径使用
解决方法:
1.try except判断路径是否可用
2.不可用则获取当前时间组成文件名
# 针对标题不能保存为路径的情况
localtime = time.localtime(time.time())#获取当前时间
tname = time.strftime('%Y%m%d-%H%M%S',localtime)#把获取的时间转换成"年月日格式”
try:
with open(r"./%s-%d.flv"%(name,page_num),'wb') as fp1:
pass
path1 = r"./%s-%d.flv"%(name,page_num)
path2 = name+"\nhttps://www.bilibili.com/video/"+bv+"?p=%d\n\n"%page_num
except:
path1 = r"./%s-%d.flv"%(tname,page_num)
path2 = tname+"\nhttps://www.bilibili.com/video/"+bv+"?p=%d\n\n"%page_num
with open(path1,'wb') as fp1:
for chunk in response.iter_content(chunk_size=512):
if chunk:
fp1.write(chunk)
down_size += len(chunk)
if time.time() - time_ > interval:
# rate = down_size / file_size * 100 # 进度 0.01%
speed = (down_size - old_down_size) / interval # 速率 0.01B/s
old_down_size = down_size
time_ = time.time()
print_params = [MB(speed), MB(down_size), MB(file_size), (file_size - down_size) / speed]
# \r 光标回到行首
print('\r{:.1f}MB/s - {:.2f}MB,共 {:.2f}MB,还剩 {:.0f} 秒 '.format(*print_params), end='')
print('\r下载成功' + " "*50)
with open("./list.txt",'a') as fp2:
fp2.write(path2)
print("视频获取成功\n(若视频清晰度不符,请及时更新cookie值)")