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

【爬虫】爬bibi视频

1. 复制粘贴搜索

2. 利用工具写请求代码

工具网址:Convert curl commands to code

3. 把爬取内容喂给ai

先保存到txt文件

# 上面代码是第二部分复制粘贴的
with open('1.txt', 'w') as f:f.write(response.text)

问ai:根据txt的内容,查找并提取视频地址和音频地址

以下是ai返回的:

import requests
import re
import jsonurl = 'https://www.bilibili.com/video/BV11GJazAE35/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36','Referer': 'https://www.bilibili.com/'
}response = requests.get(url, headers=headers)
html = response.text# 方法1:从window.__playinfo__中提取
match = re.search(r'window.__playinfo__=(.*?)</script>', html)
if match:play_info = json.loads(match.group(1))# 视频地址video_url = play_info['data']['dash']['video'][0]['baseUrl']# 音频地址audio_url = play_info['data']['dash']['audio'][0]['baseUrl']print(f"视频地址: {video_url}")print(f"音频地址: {audio_url}")

运行结果:

 

4. 合并视频和音频

这一步我直接 按tab键自动补全的,参考以下代码:

from moviepy import VideoFileClip, AudioFileClip
# 加载视频和音频文件
video_clip = VideoFileClip("视频.mp4")
audio_clip = AudioFileClip("视频.mp3")# 将音频设置为视频的音频
video_clip = video_clip.with_audio(audio_clip)# 保存合并后的视频
video_clip.write_videofile("合并后的视频.mp4")

完整代码如下:

import requests
import re
import jsonurl = 'https://www.bilibili.com/video/BV11GJazAE35/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36','Referer': 'https://www.bilibili.com/'
}response = requests.get(url, headers=headers)
html = response.text# 方法1:从window.__playinfo__中提取
match = re.search(r'window.__playinfo__=(.*?)</script>', html)
if match:play_info = json.loads(match.group(1))# 视频地址video_url = play_info['data']['dash']['video'][0]['baseUrl']# 音频地址audio_url = play_info['data']['dash']['audio'][0]['baseUrl']print(f"视频地址: {video_url}")print(f"音频地址: {audio_url}")# 视频
with open('视频.mp4', 'wb') as f:f.write(requests.get(video_url, headers=headers).content)
# 音频
with open('视频.mp3', 'wb') as f:f.write(requests.get(audio_url, headers=headers).content)from moviepy import VideoFileClip, AudioFileClip
# 加载视频和音频文件
video_clip = VideoFileClip("视频.mp4")
audio_clip = AudioFileClip("视频.mp3")# 将音频设置为视频的音频
video_clip = video_clip.with_audio(audio_clip)# 保存合并后的视频
video_clip.write_videofile("合并后的视频.mp4")

效果如下:

视频也是有声音的。

说明:爬的视频不是高清的,想爬高清的得登陆,在代码中增加对应的参数与请求头等,比如cookie值等。

http://www.xdnf.cn/news/620677.html

相关文章:

  • LINQ性能优化终极指南
  • C++八股 —— 手撕shared_ptr
  • 我爱学算法之—— 二分查找(下)
  • 【案例篇】 实现简单SSM工程-后端
  • vue--ofd/pdf预览实现
  • mongodb语法$vlookup性能分析
  • 新能源产业破局之道:达索 3DE(PLM)系统重构数据管理与工程变更效率
  • 【Python 字典】基础到进阶的用法
  • 矩阵方程$Ax=b$的初步理解.
  • Windows 高分辨率屏幕适配指南:解决界面过小、模糊错位问题
  • 面向超大规模模型的提示词工程
  • UE5 图片导入,拖到UI上变色
  • 解决 cursor 中不能进入 conda 虚拟环境
  • PDF 转 JPG 图片小工具:CodeBuddy 助力解决转换痛点
  • 实现tdx-hs300-mcp
  • 【动态规划】简单多状态(二)
  • RIP 协议实验全记录:从配置到问题解决
  • HTTP基本概述
  • 在WPF程序中设置背景图片
  • ModbusRTU转profibusDP网关与RAC400控制器快速通讯
  • 【大模型面试每日一题】Day 27:自注意力机制中Q/K/V矩阵的作用与缩放因子原理
  • 计算机网络中的路由算法:互联网的“路径规划师”
  • 笔记本电脑右下角wifi不显示,连不上网怎么办?
  • 30-消息队列
  • .NET ORM开发手册:基于SqlSugar的高效数据访问全攻略
  • LangChain构建RAG的对话应用
  • Windows 11 电源计划进阶——通过异类策略优化大小核CPU调度
  • 机器学习的一些基本概念
  • DNS Server在高可用高并发系统中的应用
  • 基于cornerstone3D的dicom影像浏览器 第二十二章 mpr + vr