前言
嗨喽~大家好呀,这里是魔王呐 ❤ ~!
今天我们分享一个用Python写下载视频+弹幕+评论的代码。
顺便把这些写成GUI,把这些功能放到一起让朋友用起来更方便~
环境介绍:
-
python 3.8
-
pycharm 2022专业版 >>> 免费使用教程文末名片获取
python资料、源码、教程\福利皆: 点击此处跳转文末名片获取
代码实战
主要代码分为界面和采集部分
获取数据
网址我屏蔽了,防止误杀。
获取视频
import requests
import re
import json
from pprint import pprint
import subprocess
import os
def Video(bv_id):
url = f'https://www.***.com/video/{bv_id}'
headers = {
# 防盗链
'referer': 'https://www.***.com/video/',
# 浏览器基本身份标识 表示浏览器
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求 ---> <Response [200]> 响应对象, 200状态码 表示请求成功
response = requests.get(url=url, headers=headers)
# 获取视频标题
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站数据 音频和视频分开的 根据冒号左边的内容, 提取冒号右边的内容 键值对取值
完整源码、解答、教程皆+VX:qian97378获取
audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
video_url = json_data['data']['dash']['video'][0]['baseUrl']
# 403 Forbidden 没有访问权限.....
audio_content = requests.get(url=audio_url, headers=headers).content
video_content = requests.get(url=video_url, headers=headers).content
if not os.path.exists('video\\'):
os.mkdir('video\\')
with open('video\\' + title + '.mp3', mode='wb') as audio:
audio.write(audio_content)
with open('video\\'