python下载哔哩哔哩视频

        通过you-get模块来实现对哔哩哔哩视频的下载,you-get 模块需要自己下载,在控制台输入

pip3 install you-get   即可下载,下载完成后输入you-get --help即可检验

安装后输出如上图

        代码如下

import os
import re
import subprocess


def menu(quality):
    for i in range(len(quality)):
        print(i,quality[i])
    return int(input('请选择清晰度'))

def capture_cmd_output(command):
    # 执行CMD命令,并将标准输出和错误输出保存到变量中
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    output, error = process.communicate()

    # 将输出内容转换为字符串类型,并去除末尾的换行符
    output = output.decode().rstrip()
    error = error.decode().rstrip()


    return output, error

# 示例命令,执行dir命令查看当前目录下的文件列表
url = input('请输入视频链接')
cmd = f'you-get -i "{url}"'

# 执行命令并获取输出和错误信息
output, error = capture_cmd_output(cmd)

# 输出结果
print("获取到的CMD输出内容:")
if output:
    pass
if error:
    print("错误信息:", error)
output = output.replace('\r','')
print(output)
# 清晰度
quality = re.findall('quality:       (.*?)\n',output)
# 下载格式以及清晰度
data = re.findall('(--format=.*?) ',output)
# 视频格式
container = re.findall('container:     (.*?)\n',output)
# 视频标题
title = re.findall('title:               (.*?)\n',output)[0]
title = title
n = menu(quality)
if not os.path.exists('电影'):
    os.mkdir('电影')
commod = f'you-get --no-caption -o 电影 -O {title} {data[n]} {url}'
# 下载视频
os.system(commod)

 在代码中,我使用subprocess模块来实现抓取控制台输出的功能,通过此模块来实现下载视频清晰度的选择

此代码也可以实现对爱奇艺以及优酷等视频的下载,但是无法下载vip视频,如果想要下载vip视频则需要在代码中添加登录后的cookie,否则无法下载vip视频

此外,如果无法下载的话可能是需要安装ffmpeg软件,具体如何安装在之前的博客里

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

财大彭于晏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值