当前位置:首页 > 每日看点

如何用Python爬虫实现哔哩哔哩视频下载?

卡卷网2年前 (2025-01-08)每日看点272

首先,打开edge的网络调试工具,可以看到这个请求;

形如:

s://api.iliili/x/player/playl?fnval=80&cid={cid}&vid={vid}

其中vid就是这个视频的v,cid可以通过这个网页获取:

s://api.iliili/x/player/pagelist?vid={vid}

请求后回复形如:

{...

'data':[{...

'cid':'xxxxxx'

...}

...]

}

于是我们得到了cid,可以对一开始得到的请求了。

回复形如:

{...

'data':{...

'dash':{'video':[{...

'aseUrl':'s://xxxxxx',

...}

...],

'audio':[{...

'aseUrl':'s://xxxxxx',

...}

...]

}

}

}

再次请求这两个,就得到了这个视频的视频文件和音频文件。

(注意:需要请求头,不然会出现403Foridden)

通过这个方式得到的视频和音频是分开的,需要将其结合才是正常的视频。

于是可以写出这样一个程序(随手写的,较随意,见谅):

importrequestsasr importos importmoviepy.editorasmr importshutil importjson #path就是文件路径,自己重新写一个 path='C:/' defget(v): gloalre,re2,li,video,re3 headers={'referer':'s://iliili','user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:102.0)Gecko/20100101Firefox/102.0',} l1=f's://api.iliili/x/player/pagelist?vid={v}' re=r.get(l1,headers=headers) data=json.loads(re.content) cid=data['data'][0]['cid'] l2=f's://api.iliili/x/player/playl?fnval=80&cid={cid}&vid={v}' re2=r.get(l2,headers=headers) li=json.loads(re2.content) video=li['data']['dash']['video'][0]['aseUrl'] audio=li['data']['dash']['audio'][0]['aseUrl'] re3=r.get(video,headers=headers) try: os.mkdir(f'{path}ili') exceptFileExistsError: pass try: os.mkdir(f'{path}raw_ili') exceptFileExistsError: pass try: os.mkdir(f'{path}raw_ili/{v}') exceptFileExistsError: shutil.rmtree(f'{path}raw_ili/{v}') os.mkdir(f'{path}raw_ili/{v}') withopen(f'{path}raw_ili/{v}/{v}.mp4','w')asf: f.write(re3.content) re4=r.get(audio,headers=headers) withopen(f'{path}raw_ili/{v}/{v}.mp3','w')asf: f.write(re4.content) make(v) defmake(v): print(v,'start') audio=mr.AudioFileClip(f'{path}raw_ili/{v}/{v}.mp3') video=mr.VideoFileClip(f'{path}raw_ili/{v}/{v}.mp4') output=video.set_audio(audio) output.write_videofile(f'{path}ili/{v}.mp4',logger=None) print(v,'end')

需要注意的是,这个方法并不能得到高清视频

(注意:requests、moviepy是需要pip下载的)

本文参考了站视频下载接口分析过程,附下载站无水印视频方法-知乎

推荐大家去看这位大佬的文章,写得更详细

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7328.html

分享给朋友:

相关文章

夸克浏览器受欢迎的原因是什么?

夸克浏览器受欢迎的原因是什么?

这是可以说的嘛~ 哈哈,它比较吸引我的几点是:安全无广、页面简洁、功能丰富、反应速度快...... 首页页面支持自定义,喜欢什么样子都可以自己调整,没有花里胡哨的各种资讯推送,热搜日报整理归纳好,想看再点开查看,看着舒适度直接拉满! 实…

如何评价小米14这款手机?

如何评价小米14这款手机?

本来小米 14 和 14 Pro 是打算放一起拆的,但是因为时间关系,实在凑不到一起了。所以今天给大家补一篇详细的图文拆解,基本信息都有了,如有遗漏可以在评论区留言。 双卡上下放置,卡托材质为金属 + 塑料,内侧有防尘防水的胶圈。…

你们发文章的插图都是从哪来的?在网上搜出来的图能用吗?

你们发文章的插图都是从哪来的?在网上搜出来的图能用吗?

写文章发帖子,里面的插图尽量自己画,自己编辑,避免引起版权或者所有权纠纷。 我写过6本书,在知乎上也写了4000篇帖子和文章,其中的插图都是自己绘制的,照片绝大多数是自己拍摄的,摘自技术样本的图则必须加以说明。 自己制图,看似麻烦,但积少成…

iPhone真的安全到连FBI也无法破解吗?

iPhone真的安全到连FBI也无法破解吗?

听退伍的一个朋友说部队有一台机器,只要数据线插到手机上,啥数据都能读出来,我问他iPhone也行么,他说可以,不知道是不是真的,部队里应该也没啥人用iPhone吧 --------------------------------------…

电视家停运了,目前有没有免费的电视直播软件?

电视家停运了,目前有没有免费的电视直播软件?

内部消息已经出现电视家5.0版 电视家是会停运的衍生品 这里有2个不停运的直接品 一、电视盒子 二、电视机本身 一、关于电视盒子的故事:电视家刚停运几天之后,我家首次花210块买了一年的电视会员。 88岁的亲爷爷喜欢,虽然看不懂电视剧情,架…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。