【自动化】BB自动化获取视频和音频地址并下载

复制代码
from DrissionPage._pages.chromium_page import ChromiumPage
page = ChromiumPage()

page.listen.start('video/BV1qu411b7EY')
page.get('https://www.bilibili.com/video/BV1qu411b7EY/?p=7')
resp = page.listen.wait()
info = resp.response.body
print(info)
headers = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cache-control': 'max-age=0',
    # 'cookie': "buvid3=F7CFC4A8-9D7A-09BF-9BA7-3D7F4E3B3D4902388infoc; b_nut=1725671802; b_lsid=1DE87172_191CA0E1005; _uuid=283A2492-C1E2-AC92-2F108-4E1D3C3E79BA04939infoc; CURRENT_FNVAL=4048; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjU5MzEwMDMsImlhdCI6MTcyNTY3MTc0MywicGx0IjotMX0.0-Bn4B3himQ7aN1R09CP-oqQ9MGhISsIgDLII0vnWkg; bili_ticket_expires=1725930943; buvid_fp=2fd96b20892f4ae572daad1cd1ad1f26; buvid4=57818A6E-FEA2-82DD-2303-F7D4AA7381B203733-024090701-XY5a6mPyRvD3DJfqtZUleA%3D%3D; rpdid=|(J|lY)k~Rkl0J'u~klY~u)|l; sid=4rjw28k0",
    'priority': 'u=0, i',
    'sec-ch-ua': '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
}

import json
import requests
# https://api.bilibili.com/x/player/online/total?aid=530457839&cid=1181074835&bvid=BV1qu411b7EY&ts=57522410
# https://www.bilibili.com/video/BV1qu411b7EY?p=
context = json.loads(info)
print(context)
video_url = context['data']['dash']['video'][0]['baseUrl']
audio_url = context['data']['dash']['audio'][0]['baseUrl']
print(video_url,audio_url)

video_re = requests.get(video_url, headers=headers)
audio_re = requests.get(audio_url, headers=headers)

with open("./video.mp4","wb") as f:
    f.write(video_re.content)

with open("./audio.mp4", "wb") as fp:
    fp.write(audio_re.content)
相关推荐
FreeBuf_8 分钟前
Apache组件遭大规模攻击:Tomcat与Camel高危RCE漏洞引发数千次利用尝试
java·tomcat·apache
蹦蹦跳跳真可爱58910 分钟前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
nananaij15 分钟前
【Python进阶篇 面向对象程序设计(3) 继承】
开发语言·python·神经网络·pycharm
无妄-202419 分钟前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
雷羿 LexChien20 分钟前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
qqxhb23 分钟前
零基础数据结构与算法——第四章:基础算法-排序(上)
java·数据结构·算法·冒泡·插入·选择
猴哥源码1 小时前
基于Java+SpringBoot的在线小说阅读平台
java·spring boot
lingRJ7771 小时前
从混沌到掌控:基于OpenTelemetry与Prometheus构建分布式调用链监控告警体系
java·springboot·prometheus·backend·opentelemetry·jaeger·microservices
星辰离彬1 小时前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
敲键盘的小夜猫1 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain