陶远航 发表于 2023-8-14 18:00:12

Python爬取B站视频+抓包过程分享

本帖最后由 陶远航 于 2023-8-19 08:18 编辑



第一步:有言在先
你需要先准备:
1.python(必要)
2.you-get库(非必要,但是会导致你无法使用第一个方法)
3.requests库(必要)
4.lxml(非必要,但是会导致你无法使用第二个方法)
5.ffmpeg.exe(非必要,用来合并音视频,下载方法:搜索ffmpeg,从官网下载压缩包,解压,把这三个exe放在程序的同目录下)
如果这些东西没有准备好,程序发生异常,请先安装以上所说的所有库


第二步:抓包+分析
好的,相信大家都准备好了,我来一步一步教大家怎么抓包(你如果只是想使用本程序的话,可以直接跳到第4步)
然后我们按下F12,打开一个视频,可以看到网络这一栏有很多请求

可以看到B站视频是m4s格式的,请求方式:GET

然后我通过关键字查找,发现这些链接是可以通过视频链接直接提取的


我用python模拟了一次,发现结果并不理想:


于是我继续分析,发现有几个options请求,是像这样的:


我试了发送好几次这样的请求,发现还是不行




于是我考虑用session。
然后......还是不行...
https://img1.imgtp.com/2023/08/14/qcd7mVQd.png

于是我参考网上的方法,增加请求头再试了几次,加上session,居然可以了!
进入写代码环节!

第三步:编写代码
因为还有一个下载B站视频的方法,就是:you-get
所以,我们需要把两个方法都写进程序里面
最终的界面是这样的:


有点丑哈,不过这个是第一版,后续会更新的。
哎呀,忘记了视频保存目录了

来,最终效果:


2.0版本UI会好一点,1.0做得急,UI凑合着用吧...

接下来,就差下载视频函数了,直接看代码吧。

第四步:代码展示以及使用方法

就讲三句:
you-get中playlist是用来下载全部分p的。
第二种下载方法不能用来下载所有分p,所以勾不勾都一样
”我已了解本程序......“这个就是一个摆设,不做出强制勾选限制

上代码:
**** Hidden Message *****

记得评分哦!

陶远航 发表于 2023-8-14 18:03:48

@小甲鱼 @不二如是 @sfqxx @cjjJasonchen @isdkz @歌者文明清理员 @liuhongrun2022 @Twilight6 @Mike_python小 @ba21求支持~

不二如是 发表于 2023-8-14 18:04:21

{:10_256:}{:10_256:}

歌者文明清理员 发表于 2023-8-14 18:05:28

不二如是 发表于 2023-8-14 18:04


{:10_256:}{:10_256:}{:10_256:}

陶远航 发表于 2023-8-14 18:06:38

不二如是 发表于 2023-8-14 18:04


做这个东西是经过甲鱼哥同意的{:10_256:}{:10_256:}

不同意我也不会做这个

学习编程中的Ben 发表于 2023-8-14 18:29:37

cjjJasonchen 发表于 2023-8-14 18:32:20

厉害啊,爬虫!

Mike_python小 发表于 2023-8-14 18:48:28

{:10_256:}

学习编程中的Ben 发表于 2023-8-14 18:54:07

mwy1024 发表于 2023-8-14 19:03:26

这个可以有啊。

zhangjinxuan 发表于 2023-8-14 19:12:15

你的脚本好智能,还会打广告{:10_256:}{:10_256:}{:10_256:}

奋斗中的鱼 发表于 2023-8-14 20:21:12

爬虫!

奋斗中的鱼 发表于 2023-8-14 20:21:49

不错不错!

陶远航 发表于 2023-8-14 20:21:54

奋斗中的鱼 发表于 2023-8-14 20:21
爬虫!

?你想表达什么

MIke_python小小 发表于 2023-8-14 20:23:24

感谢楼主{:10_256:}

Mike_福利 发表于 2023-8-14 20:23:38

好东西,已收藏

MIke_python小小 发表于 2023-8-14 20:23:57


好东西,已收藏

奋斗中的鱼 发表于 2023-8-14 20:24:08

陶远航 发表于 2023-8-14 20:21
?你想表达什么

这不是网络爬虫吗?{:10_302:}怎么了?

MIke_python小小 发表于 2023-8-14 20:24:20

70%都不中?

MIke_python小小 发表于 2023-8-14 20:24:56

zhangjinxuan 发表于 2023-8-14 19:12
你的脚本好智能,还会打广告

哈哈哈
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: Python爬取B站视频+抓包过程分享