如何用Python轻松爬取B站视频?
这个实现起来很简单,分2步,先获取视频链接地址,然后再根据链接下载视频,下面我简单介绍一下实现过程,实验环境win10+python3.6+pycharm5.0,主要内容如下:
这里为了更好地说明问题,以爬取B站的TED视频为例,如下:
1.首先,获取视频的链接地址,这里需要抓包分析,视频信息是动态加载的,不在网页源码中,所以直接爬取是不会成功的,按F12调出开发者工具,刷新页面,查看抓包信息,如下,动态加载的视频信息就出来了,在一个json文件里:
但是在json数据里面查找一圈也没有视频的连接地址,这就奇怪了,我们再打开页面,右击鼠标,查看一下页面代码的视频信息,如下:
发现链接地址都是//www.bilibili.com/video/av...很明显,后面的...都是视频的id,那么完整的链接地址就是https://www.bilibili.com/video/av+视频id,代码就很简单了,如下,最简单的requests+json组合,就能获取到视频信息:
程序运行截图如下,已经成功获取到视频及对应地址信息:
2.接着就是根据视频地址信息下载视频了,这里我们拿来即用,有一个you-get工具(这个我以前介绍过),这里直接用它下载视频就行,只需知道视频url地址,就能正常下载,主要步骤如下:
下载安装you-get,这里直接在cmd窗口执行命令“pip install you-get”就行,如下:
安装完毕后,我们就可以正常用you-get来下载视频了(其中参数o代表存放视频的目录),其实就是调用os.system执行系统命令,完成视频的下载,主要代码如下,很简单:
程序运行截图如下:
存放目录下就会出现下载的视频文件,如下:
至此,我们就完成了B站视频的下载,很简单吧,主要就是2步,先获取视频地址,然后根据地址,调用you-get命令下载视频,感兴趣的朋友可以尝试一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有