批量下载bibli视频集的方法

一、安装软件

使用Windows 10的 Microsoft Store中下载 “哔哩哔哩动画”

二、下载视频

1、在软件中,搜索视频,并进入视频页面,如下所示:


image.png

2、进入视频模式,可以单个选择,也可以反向选择。选择指定视频后,点击下载即可。

自定义下载路径,可以点击设置-> 下载&缓存 Tab页,设置自定义本机视频下载路径即可。

三、下载后格式化下载文件的名称

下载后的视频集名称和目录均为数字,不够直观。如:


image.png

格式化脚本:format_bilibili_name.py

import os
import argparse
import json
import shutil

def format_bili_download(dir_path, output_path):
    file_list = []
    info_list = []
    print("%s %s " % (dir_path, output_path))
    for filepath,dirnames,filenames in os.walk(dir_path):
        for filename in filenames:
            file_path = os.path.join(filepath, filename)
            file_list.append(file_path)
            if file_path.endswith(".info"):
                info_list.append(file_path)
    
    def is_vedio(path):
        if path.endswith(".mp4"):
            return True
        else:
            return False
    # print(info_list)
    
    for info_path in info_list:
        dirname = os.path.dirname(info_path)
        files = [ f for f in file_list if os.path.dirname(f)==dirname and is_vedio(f)]
        if len(files) == 1:
            with open(info_path, 'r', encoding="utf-8") as f:
                info_dict = json.loads(" ".join(f.readlines()))
            title = info_dict["Title"]
            name = info_dict["PartName"]
            for i,file in enumerate(files):
                output_file = os.path.join(output_path, title, name + "_" +str(i) +os.path.splitext(file)[-1])
                out_dir = os.path.dirname(output_file)
                if not os.path.exists(out_dir):
                    os.makedirs(out_dir)
                shutil.move(file, output_file)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--dir', '-d', action='store', dest="dir", help='指定格式名称的路径')
    parser.add_argument('--out', '-o', action='store', dest="output", help='指定格式名称的路径')
    args = parser.parse_args()
    input_path = args.dir
    output_path = args.output
    
    format_bili_download(input_path, output_path)

运行方式:

python format_name.py -d "D:\lulu\学习教程\Vary\Vray高级教程-2\31259123" -o "D:\lulu\学习教程\Vary\Vray高级教程-2"

将指定目录下的下载文件格式化为标准的文件名称。

格式化后:

image.png

你可能感兴趣的:(批量下载bibli视频集的方法)