本系列文章旨在分享python学习的心得,所涉及的视频和up主皆是值得与大家分享的,如有冒犯,望请谅解。
【Python】第1节:常规方法与you-get
【Python】第2节:进程池的应用
【Python】第3节:Beautifulsoup+requests+selenium获取视频url
【Python】第4节:常见问题的解决(2020年3月23日哔哩哔哩将稿件的「av 号」变更为「BV 号」)
完整GitHub代码:BilibiliDownloader
哔哩哔哩高手云集,各路技术大牛十分活跃,比如:莫烦大佬,CodeSheep,。。。
大佬们的视频精彩,不收藏一些到本地岂不可惜?
网上有不少教程,教你如何下载B站视频,我分享总结了两种比较靠谱的方法分享给大家,希望能帮到大家。
操作简单,无需安装,完全免费
打开之后,直接输入视频地址和保存位置,
点击解析,选中视频,右键即可下载。
下载速度很ok,一般能达到一般以上的带宽!!!
缺点:
下载途径:
import os
import sys
import you_get
class YouGet():
def __init__(self, path):
self.path = path # 存放视频文件的路径
def rmfile(self, path):
"""
删除文件
:param path: 文件路径
:return: None
"""
try:
os.remove(path)
except Exception as e:
print(e)
def download(self, url):
sys.argv = ['you-get', '-o', self.path, url]
you_get.main()
# 下载完成,删除xml文件
for file in os.listdir(self.path):
if file[-3:] == 'xml':
self.rmfile(os.path.join(self.path, file))
if __name__ == "__main__":
path = r"视频存放路径"
url = ["待下载的视频列表"]
yg = YouGet(path)
for url in urls:
yg.download(url)
注:请确保已安装配置好python环境和you-get(第三方库)
YouGet类:
def rmfile(self, path):
"""
删除文件
:param path: 文件路径
:return: None
"""
try:
os.remove(path)
except Exception as e:
print(e)
def download(self, url):
sys.argv = ['you-get', '-o', self.path, url]
you_get.main()
# 下载完成,删除xml文件
for file in os.listdir(self.path):
if file[-3:] == 'xml':
self.rmfile(os.path.join(self.path, file))
本节只使用了一个python进程,对CPU和带宽的利用率很低,下一篇我们将解决这个问题。
【Python】哔哩哔哩视频下载第2篇:进程池的应用