当前位置: 首页 > article >正文

一键爬取b站视频

同学们。废话不多说,

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.kler.cn/a/589618.html

相关文章:

  • lua C语言api学习2 在C语言中使用lua语言
  • 3月17日作业
  • QT中的宏
  • JAVA | 聚焦 String 的常见用法与底层内存原理
  • 无人机吊舱模块更换技术难点分析!
  • UFS Link Startup 介绍
  • 怎么在centos7中搭建一个mqtt服务
  • 设计模式(行为型)-状态模式
  • 【CVPR 2025】局部区域自注意力LASA,用重叠补丁增强区域特征交互,即插即用!
  • 【Mac 从 0 到 1 保姆级配置教程 08】08. 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
  • 【JavaEE】Spring Boot 日志
  • Qt:槽函数与信号
  • 下载 CSS 文件阻塞,会阻塞构建 DOM 树吗?会阻塞页面的显示吗?
  • python项目一键加密,极度简洁
  • 使用Appium的W3C Actions实现多指触控行为
  • C++ STL 之常用拷贝和替换算法①copy();②replace();③replace_if();④swap();
  • C++ STL map
  • Spring Boot 动态配置管理:ZooKeeper 集成与 Redis 配置覆盖实践
  • easypoi导入Excel兼容日期和字符串格式的日期和时间
  • OpenCV计算摄影学(23)艺术化风格化处理函数stylization()