爬取b站音频和视频数据,未合成一个视频

一、首先找到含有音频和视频的url地址

打开一个视频,刷新后,找到这个包,里面有我们所需要的数据

访问这个数据包后,获取字符串数据,用正则提取,再转为json字符串方便提取。

二、获得标题和音频数据后,分别获取二进制数据,进行保存,注意这里访问时,必须加上防盗链即refer。

完整代码:

python 复制代码
import requests
import json
import re
import pprint
def get_response(url):
    headers ={
        "Referer":"https://space.bilibili.com/480670664",
        "Cookie":"buvid3=147D8190-C7BD-7BA9-1991-11F625BFAD0F63250infoc; b_nut=1704603163; i-wanna-go-back=-1; b_ut=7; _uuid=24B48ADE-5F45-F1BA-8F101-92E6EA3C5E9562728infoc; enable_web_push=DISABLE; buvid4=54DF23A6-E7BA-5931-0E4C-64707AFE8C9F64640-024010704-8qrN5r0k2p518FoBUY6DBs00hx1F24CGrUVZ2ENL3N3IDPtdKOB3sdEUTsoRlc77; LIVE_BUVID=AUTO7417046031702675; buvid_fp_plain=undefined; header_theme_version=CLOSE; is-2022-channel=1; CURRENT_BLACKGAP=0; rpdid=0zbfVHa4e0|Cpjx3t0|fIj8|3w1RshGT; DedeUserID=151028355; DedeUserID__ckMd5=c9e195efef0967b0; fingerprint=a0cfdd0d76b3941516e3c9cfbdb4cde2; buvid_fp=a0cfdd0d76b3941516e3c9cfbdb4cde2; CURRENT_FNVAL=4048; CURRENT_QUALITY=80; hit-dyn-v2=1; home_feed_column=4; bp_video_offset_151028355=910186544512368662; b_lsid=DF21B14C_18E89FDCDDC; bmg_af_switch=1; bmg_src_def_domain=i0.hdslb.com; FEED_LIVE_VERSION=V_HEADER_LIVE_NO_POP; browser_resolution=1382-742; SESSDATA=3453694a%2C1727264098%2C76879%2A32CjATHAdI0T0tgl7P0OCtAji8X9-btkgYMjqQGtt0B5NBVhXBvhYdTL9LfXB0kiUzKLISVllyS3g5c3R0N2V0VHYxRmU5bXlud0pEdWhZeUs0WVlkdGZIWElKVjBjaTJ4b0lDbWR5NWtYaWJvSWxkN2RwVkxuWFZvX2kyZ2RNeGt0Ynd4enFmcU5BIIEC; bili_jct=1a488c1a0c065e7c52748a3b9effd54c; sid=4hv352dx; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE5NzEzMTEsImlhdCI6MTcxMTcxMjA1MSwicGx0IjotMX0.-sNIdSjptHmJN4OuPUIZicxtSyFKEtBTH78qR5Yn2Pg; bili_ticket_expires=1711971251; PVID=1",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
    response = requests.get(url=url,headers=headers)
    return response
def GetVideoInfo():
    # 视频播放页的链接地址
    link ='https://www.bilibili.com/video/BV1GJ411v7a3/?spm_id_from=333.999.0.0&vd_source=ae60a9753538f205a553937d75ee728d'
    # 调用发送请求的函数
    response = get_response(link)
    # 获取响应的文本数据
    html = response.text
    # 提取数据内容 使用正则表达式
    # 音视频信息得到
    info = re.findall('<script>window.__playinfo__=(.*?)</script>',html)[0]
    # 把json字符串转为json字典
    json_data = json.loads(info)
    # 音频链接
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    # 视频链接
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    title = re.findall('<h1 data-title="(.*?)" title="(.*?)" class="video-title',html)[0][0]
    print(title)
    print(audio_url)
    print(video_url)
    # 获取视频标题
    return title,audio_url,video_url

def save(title,audio_url,video_url):
    audio_content = get_response(url=audio_url).content
    video_content = get_response(url=video_url).content
    with open('videobilibili\\'+title+'.mp3',mode='wb') as audio:
        audio.write(audio_content)
    with open('videobilibili\\'+title+'.mp4',mode='wb') as video:
        video.write(video_content)
    '''把音频和视频合成一个'''

if __name__ == '__main__':
    title,audio_url,video_url = GetVideoInfo()
        save(title,audio_url,video_url)

三、别人提供的b站视频详情页

在链接的bilibili前加个i,获得视频详情,包括评论信息

原链接:去大理骑单车环洱海,130公里2天半独行之旅_哔哩哔哩_bilibili

改链接:去大理骑单车环洱海,130公里2天半独行之旅-去大理骑单车环洱海,130公里2天半独行之旅-爱哔哩(B站视频、音频mp3解析下载站)

访问弹幕链接即可获得:

相关推荐
Together_CZ1 小时前
Cambrian-S: Towards Spatial Supersensing in Video——迈向视频中的空间超感知
人工智能·机器学习·音视频·spatial·cambrian-s·迈向视频中的空间超感知·supersensing
Android系统攻城狮1 小时前
Android16音频之设置音频属性AudioTrack.Builder().setAudioAttributes:用法实例(一百一十九)
音视频·android16·音频进阶
空影星1 小时前
轻量日记神器RedNotebook,高效记录每一天
python·数据挖掘·数据分析·音视频
Black蜡笔小新1 小时前
视频汇聚平台EasyCVR赋能石油管道计量站精准监控与安全管理
安全·音视频
马剑威(威哥爱编程)11 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
万能的小裴同学16 小时前
Android M3U8视频播放器
android·音视频
音视频牛哥16 小时前
轻量级RTSP服务的工程化设计与应用:从移动端到边缘设备的实时媒体架构
人工智能·计算机视觉·音视频·音视频开发·rtsp播放器·安卓rtsp服务器·安卓实现ipc功能
❀͜͡傀儡师16 小时前
Docker部署视频下载器
docker·容器·音视频
EasyDSS19 小时前
视频推流平台EasyDSS无人机推流技术打造大型安保巡逻监控新模式
音视频·无人机
2501_9071368220 小时前
开源视频批量处理工具FFmpeg Batch AV Converter
ffmpeg·音视频·软件需求