news 2026/4/18 11:15:30

【爬虫】下载ffmpeg,爬取b站视频,把音频和视频合成一个视频

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【爬虫】下载ffmpeg,爬取b站视频,把音频和视频合成一个视频

ffmpeg下载

代码实现

importpprintimportsubprocessimportrequestsfromfake_useragentimportUserAgentimportrandomimportreimportjsonimportosfromlxmlimportetree ua=UserAgent()headers={"User-Agent":ua.random,"Referer":"https://www.bilibili.com/","Cookie":"buvid3=F8C19783-ACEA-59F9-B2AA-26DE8893EA9952876infoc; b_nut=1766841352; b_lsid=E37ACBD9_19B5FF38753; bsource=search_baidu; _uuid=199102BB2-10938-D12A-5B96-F10F59D96F2E554076infoc; home_feed_column=5; browser_resolution=1920-945; buvid_fp=61e3c5797af3dabc5837e04f907d9dc2; bmg_af_switch=1; bmg_src_def_domain=i2.hdslb.com; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjcxMDA1NTMsImlhdCI6MTc2Njg0MTI5MywicGx0IjotMX0.kDsmSBtlR_REtna9rsGhPPhHrV8Pxy72B2h_BLrZwbM; bili_ticket_expires=1767100493; buvid4=8E67B41C-E535-B165-EB97-0EDD40DE2C6154154-025122721-PpSVmW9OodzKBxrGNjP3RWsvbFnkFXlE+0v7ibTZbIJ6B8znXQ04IOaU2ko2k395; CURRENT_FNVAL=4048; CURRENT_QUALITY=0; rpdid=0zbfAHJoqP|VlKIIjWh|1sD|3w1Vzu9Y; sid=5uy36kmc","Accept":"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9","Connection":"keep-alive"}defget_play_url(url):# 1 爬取视频页的网页源码resp=requests.get(url=url,headers=headers)# 2 提取视频和音频的播放地址info=re.findall('window.__playinfo__=(.*?)</script>',resp.text)[0]# 获取视频的播放地址video_url=json.loads(info)['data']['dash']['video'][0]['baseUrl']# video_url = 'https://upos-sz-mirror08c.bilivideo.com/upgcxcode/08/75/719057508/719057508-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&nbs=1&uipk=5&platform=pc&mid=0&os=08cbv&oi=0x24098a2808e7b7b041754bc94fd27906&deadline=1766850571&trid=b3e1ff33737b4b2cb496b415f6ca381u&gen=playurlv3&og=hw&upsig=372638e0bb9b5aa0075b58bc52b87598&uparams=e,nbs,uipk,platform,mid,os,oi,deadline,trid,gen,og&bvc=vod&nettype=0&bw=428953&build=0&dl=0&f=u_0_0&qn_dyeid=cf4203b6ed795ca600e7072f694fe3eb&agrr=0&buvid=&orderid=0,3'# 获取音频的播放地址audio_url=json.loads(info)['data']['dash']['audio'][0]['baseUrl']# audio_url = 'https://upos-sz-estghw.bilivideo.com/upgcxcode/08/75/719057508/719057508-1-30216.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&platform=pc&trid=222c1eb52fb745c5bd6069a5930008du&oi=0x24098a2808e7b7b041754bc94fd27906&deadline=1766850802&uipk=5&gen=playurlv3&os=estghw&mid=0&nbs=1&og=hw&upsig=7d093ee5b56ec63263af9e3c814e538c&uparams=e,platform,trid,oi,deadline,uipk,gen,os,mid,nbs,og&bvc=vod&nettype=0&bw=67689&f=u_0_0&qn_dyeid=16133e653e0485130061eb45694fe4d2&agrr=0&buvid=&build=0&dl=0&orderid=0,3'# 获取标题html=etree.HTML(resp.text)filename=html.xpath("//h1/text()")[0]returnfilename,video_url,audio_url# 3 下载并保存视频和音频defdownload_files(filename,video_url,audio_url,path):print('开始下载视频,音频.......')video_content=requests.get(url=video_url,headers=headers).content audio_content=requests.get(url=audio_url,headers=headers).contentifnotos.path.exists(f'{path}/video'):print('创建video文件夹')os.makedirs(f'{path}/video')withopen(f'video/{filename}.mp4','ab')asf:f.write(video_content)print('视频已下载完毕...')withopen(f'video/{filename}.mp3','ab')asf:f.write(audio_content)print('音频已下载完毕...')# 4 使用ffmpeg合并视频和音频# ffmpegdefcombine_files(filename,path):ffmpeg=r"D:\software\ffmpeg-8.0.1-full_build\bin\ffmpeg.exe"input_video=rf"{path}\video\{filename}.mp4"input_audio=rf"{path}\video\{filename}.mp3"output_video=rf"{path}\video\output-{filename}.mp4"cmd=[ffmpeg,'-i',input_video,'-i',input_audio,'-c:v','copy','-c:a','aac',output_video]result=subprocess.run(cmd,capture_output=True,text=True,encoding='utf-8',errors='ignore')print("stdout:",result.stdout)print("stderr:",result.stderr)ifresult.returncode==0:print('已完成合并........')else:print('合并失败,请检查错误信息')if__name__=='__main__':url="https://www.bilibili.com/video/BV1AA4y1D7h2?vd_source=5fb207316e3b77a15884783d3c143acf"path=r"E:\spider_code\video_bilibili"filename,video_url,audio_url=get_play_url(url)# download_files(filename, video_url, audio_url, path)combine_files(filename,path)

结果展示:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:59:17

YOLOv7-Wide改进版:宽度扩展带来精度飞跃

YOLOv7-Wide改进版&#xff1a;宽度扩展带来精度飞跃 在工业质检的产线上&#xff0c;一台摄像头正以每分钟300帧的速度扫描着高速移动的金属零件。突然&#xff0c;一个仅占几个像素点的微小裂纹被精准识别并触发剔除机制——这背后&#xff0c;正是现代目标检测模型对“精度”…

作者头像 李华
网站建设 2026/4/17 2:09:59

YOLO在天文图像处理中的尝试:星体自动识别分类

YOLO在天文图像处理中的尝试&#xff1a;星体自动识别分类 在现代天文学的前沿战场上&#xff0c;数据洪流正以前所未有的速度席卷而来。像LSST这样的巡天项目每夜就能产出数百万张高分辨率图像&#xff0c;每一张都可能藏着尚未被发现的星系、类星体或瞬变现象。面对如此庞大的…

作者头像 李华
网站建设 2026/4/18 1:57:37

YOLO在轨道交通中的应用:轨道异物入侵检测系统

YOLO在轨道交通中的应用&#xff1a;轨道异物入侵检测系统 在城市地铁隧道深处&#xff0c;一节空荡的轨道上&#xff0c;一个被遗忘的工具箱悄然静卧。列车正以每小时80公里的速度驶来——传统安防系统可能要等数秒甚至数十秒才能响应&#xff0c;而现代AI视觉系统&#xff0c…

作者头像 李华
网站建设 2026/4/18 2:01:17

YOLO模型训练支持Label Smoothing提升泛化能力

YOLO模型训练支持Label Smoothing提升泛化能力 在工业质检线上&#xff0c;一台AOI&#xff08;自动光学检测&#xff09;设备正高速扫描PCB板。突然&#xff0c;系统频繁报警——“焊点缺失”&#xff0c;但人工复检却发现大多是正常产品。工程师调出模型输出日志&#xff0c;…

作者头像 李华
网站建设 2026/4/18 1:59:24

YOLO模型支持Apache Arrow零拷贝数据传输

YOLO模型与Apache Arrow的零拷贝集成&#xff1a;打破数据传输瓶颈 在智能制造车间的一条高速质检产线上&#xff0c;摄像头以每秒120帧的速度捕捉产品图像&#xff0c;每一帧都需要在毫秒级内完成缺陷检测。传统AI推理流水线中&#xff0c;看似简单的“读图→预处理→送入模型…

作者头像 李华
网站建设 2026/4/17 4:13:15

YOLO目标检测支持OAuth2.0安全认证访问控制

YOLO目标检测与OAuth2.0安全认证的融合实践 在智能制造、智慧安防和边缘计算快速发展的今天&#xff0c;AI模型不再只是实验室里的“黑箱算法”&#xff0c;而是作为核心服务部署在生产系统的神经末梢。以YOLO为代表的实时目标检测技术&#xff0c;正被广泛应用于产线质检、交通…

作者头像 李华