一键爬取b站视频

ops/2025/3/18 15:07:56/

同学们。废话不多说,

b站视频素材多,

二次加工就归你,

三话不说爬起来,

犯法违纪咱不干

代码

import json
import requests
from bs4 import BeautifulSoup
import re# 目标网址bvnane="BV1hUQEYCEyY"
pp=("0")
# url = f"https://www.bilibili.com/video/{bvnane}/?spm_id_from=333.1007.tianma.1-2-2.click&vd_source=efbc10526f5fa5642530923cf09ce506&p"
urll=f"https://www.bilibili.com/video/BV1hUQEYCEyY/?vd_source=efbc10526f5fa5642530923cf09ce506"# url="https://www.bilibili.com/video/BV1b7411N798/?spm_id_from=333.788.player.switch&vd_source=efbc10526f5fa5642530923cf09ce506&p=5"
# 发送HTTP请求
headers = {"Cookie": ""Origin": "https://www.bilibili.com",
"Referer":f"https://www.bilibili.com/video/{bvnane}/","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"}
response = requests.get(urll, headers=headers)print(response.status_code)
aid_match = re.findall('.*"video":\[{"id":\d+,"baseUrl":"(.*?)","base_url":', response.text)[0]
audioo = re.findall('.*"audio":\[{"id":\d+,"baseUrl":"(.*?)","base_url":', response.text)[0]# print(audioo)
# TODO 通过F12查看视频的地址
# video_url = "https://xy112x46x159x206xy.mcdn.bilivideo.cn:8082/v1/resource/28819000067-1-30232.m4s?agrr=1&build=0&buvid=EF0FD31D-EF92-A685-BB65-AD1B92E5D39A34121infoc&bvc=vod&bw=10394&cdnid=14652&deadline=1741954587&e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M%3D&f=u_0_0&gen=playurlv2&logo=80000000&mid=580435041&nbs=1&nettype=0&og=hw&oi=0&orderid=0%2C3&os=bcache&platform=pc&sign=692bde&traceid=trfIBPuAGcNide_0_e_N&uipk=5&uparams=e%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%2Cog&upsig=482eb93010d5589bde95faca0651fd1c"
#
video_response = requests.get(aid_match, headers=headers)autiion=requests.get(audioo, headers=headers)
name='shiping.mp4'
pathmv="D:\pcsuite\jianying\剪映保存\\"+name
with open(pathmv, mode='wb') as v:v.write(video_response.content)
pahtaudio="D:\pcsuite\jianying\剪映保存\\"+"au"+name
with open(pahtaudio, mode='wb') as v:v.write(autiion.content)# cids_match = re.findall(f'.*"{url.split("/")[4]}","cid":(\d+),"p":{pp},', response.text)[0]
# # cids_match = re.findall(f'.*"{url.split("/")[4]}","cid":(\d+),', response.text)[0]
#

这里cookie的话用自己电脑上面的,然后你就能获得b站的视频和音频了


http://www.ppmy.cn/ops/166792.html

相关文章

前端安全之DOMPurify基础使用

DOMPurify时一款专门用于防御XSS攻击的库,通过净化HTML的内容,移除恶意脚本,同时保留安全的HTML标签和数学。以下是基础使用指南,涵盖基础的安装与用法。 1,安装DOMPurify 通过npm或yarn安装 npm install dompurify …

Excel单元格中插入自定义超链接

Excel单元格中插入自定义超链接 方法一、插入静态自定义超链接 适用场景: 手动设置固定显示文本和链接地址 快捷键 Ctrl K 可显示插入超链接窗口. 方法二、适用HYPERLINK函数动态生成超链接 跳转到超链接 HYPERLINK("https://www.bilibili.com/?","CS…

专栏特辑--如何查询Essential Science Indicators (ESI)- 高被引论文--我的文章和高引文章的差距

灵感就是今天终于查询了一下高被引文章,网上对于ESI高被引的查询方法五花八门,很多都是过时的或者极为繁琐的,或者说半天都说不清楚的,现在来总结梳理一下,以备不时之需。这里只讨论高被引文章,不讨论热点(hot)文章。 所谓高被引--就是received enough citations to p…

【第K小数——可持久化权值线段树】

题目 代码 #include <bits/stdc.h> using namespace std;const int N 1e5 10;int a[N], b[N]; int n, m, len; int rt[N], idx; // idx 是点分配器struct node {int l, r;int s; } tr[N * 22];int getw(int x) {return lower_bound(b 1, b len 1, x) - b; }int bui…

Word 小黑第22套

对应大猫23 续编号&#xff08;编号断了&#xff0c;从一开始&#xff09;&#xff1a;点编号&#xff0c;再设置编号值 插入以图标方式显示的文档&#xff1a;插入 -对象 -由文件创建 &#xff08;这里要链接到文件也要勾选 不然扣一分&#xff09; 一个页面设为横向不影响上…

探索具身多模态大模型:开发、数据集和未来方向(下)

25年2月来自广东人工智能和数字经济实验室、深圳大学、巴黎理工学院和巴黎高等师范学院、中山大学的论文“Exploring Embodied Multimodal Large Models: Development, Datasets, and Future Directions”。 近年来&#xff0c;具身多模态大模型 (EMLM) 因其在复杂的现实环境中…

关于Redis的集群(上)

目录 基本概念 数据分片算法 哈希求余 ​编辑一致性哈希算法 哈希槽分区算法 搭建集群环境 创建目录和配置 编写 docker-compose.yml 启动容器 构建集群 基本概念 广义的集群&#xff0c;只要是多个机器构成了分布式系统&#xff0c;都可以成为是一个“集群”。 但…

Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南

Spring Boot拦截器&#xff08;Interceptor&#xff09;与过滤器&#xff08;Filter&#xff09;深度解析&#xff1a;区别、实现与实战指南 一、核心概念对比 1. 本质区别 维度过滤器&#xff08;Filter&#xff09;拦截器&#xff08;Interceptor&#xff09;规范层级Serv…