【爬虫】爬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 json

url = '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 json

url = '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值等。

相关推荐
B站_计算机毕业设计之家3 小时前
spark实战:python股票数据分析可视化系统 Flask框架 金融数据分析 Echarts可视化 大数据技术 ✅
大数据·爬虫·python·金融·数据分析·spark·股票
深蓝电商API6 小时前
反爬升级:WAF、行为检测、指纹追踪,我们该如何应对?
爬虫·waf·反爬
疏狂难除10 小时前
spiderdemo第四题
爬虫·okhttp·webassembly
好好好起个名真难1 天前
爬虫 beautifulSoup 方法
爬虫·beautifulsoup
B站_计算机毕业设计之家1 天前
python舆情分析可视化系统 情感分析 微博 爬虫 scrapy爬虫技术 朴素贝叶斯分类算法大数据 计算机✅
大数据·爬虫·python·scrapy·数据分析·1024程序员节·舆情分析
B站_计算机毕业设计之家1 天前
Spark微博舆情分析系统 情感分析 爬虫 Hadoop和Hive 贴吧数据 双平台 讲解视频 大数据 Hadoop ✅
大数据·hadoop·爬虫·python·数据分析·1024程序员节·舆情分析
猫头虎1 天前
大模型训练中的关键技术与挑战:数据采集、微调与资源优化
人工智能·爬虫·数据挖掘·数据分析·网络爬虫·aigc·1024程序员节
失败又激情的man1 天前
爬虫逆向之X音a_bogus参数分析
爬虫·1024程序员节
爬虫程序猿2 天前
用 Python 给京东商品详情做“全身 CT”——可量产、可扩展的爬虫实战
开发语言·爬虫·python
盼哥PyAI实验室2 天前
《Python爬虫 + 飞书自动化上传》全流程详细讲解
爬虫·python·飞书