【python】教你如何下载弹幕、评论、视频一体软件在伙伴面前狠狠装一波~

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~

在我们在网页端浏览小破站的视频的时候正常是没有下载按钮的

但是,电脑观看更爽啊~那么有没有办法下载呢?

当然是有的拉~怎么可能难倒屌炸天的程序员呢!!

今天来打造一个不是程序员也能实现通过BV号就能下载的软件,视频、弹幕、评论统统下载下来。

到时候还能分享给你的小伙伴来使用,简直就是装逼必备哇!

效果展示

我们先来看看效果

整体界面

我随便找个视频下载一下

弹幕和评论我都顺便下载了

有一说一,确实方便,就是下载视频太大的话,会卡一下。

不过我这里视频没有做去水印,所以下载下来还是有水印的。

代码展示

下载视频

模块导入

 导入数据请求模块  ---> 第三方模块 需要在cmd里 进行pip install requests
import requests
# 导入正则    ---> 内置模块 不需要安装
import re
# 导入json模块     ---> 内置模块 不需要安装
import json
# 导入格式输出模块  ---> 内置模块 不需要安装
from pprint import  pprint
# 导入进程
import subprocess
# 导入文件操作模块
import os

因为代码里有链接,不给过的,所以我把代表性的网址那里删掉了一部分,你们可以自行添加

或点击 蓝色字体 领取完整源码,我都放在这里了。


加伪装

def Video(bv_id):
    url = f'https://www.网址.com/video/{
     bv_id}'
    # 把python代码伪装成浏览器  ---> 在开发者工具里面直接复制粘贴
    headers = {
   
        # 防盗链
        'referer': 'https://www.网址.com/video/',
        # 浏览器基本身份标识 表示浏览器
        'user-agent': ''
    }

发送请求

—> <Response [200]> 响应对象, 200状态码 表示请求成功

    response = requests.get(url=url, headers=headers)

获取数据, 获取服务器返回响应数据 —> 文本数据 print(response.text)

解析数据, 提取我们想要数据内容

正则表达式 —> 对于字符串数据类型进行提取/解析

re模块findall()

----> 告诉程序从什么地方去找什么数据

re.findall() '"title":"(.*?)","pubdate"', response.text

response.text 里面 去找 "title":"(.*?)","pubdate" 其中括号里内容就是我们要的

[‘昏君体验卡系列’] 列表数据类型

获取视频标题

    title = re.findall('"title":"(.*?)","pubdate"', response.text)[0].replace(' ', '')

获取视频数据信息 前端标签两个两个一起

    html_data = re.findall('<script>window.__playinfo__=(.*?)</script>', response.text)[0]

转换数据类型 字符串数据转成json字典数据类型

    json_data = json.loads(html_data)

print打印字典数据, 输出一行内容 print(json_data)

pprint 打印字典数据, 格式化输出 展开效果 pprint(json_data)

字典数据 B站数据 音频和视频分开的 根据冒号左边的内容, 提取冒号右边的内容 键值对取值

    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    video_url = json_data['data']['dash']['video'][0]['baseUrl']

403 Forbidden 没有访问权限…

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值