项目背景
最近我想把自己在哔哩哔哩上发的视频全部下载下来,发现哔哩哔哩网页版没有下载功能,app客户端只能一个一个缓存,
然后我找到网上的一些教程,发现大多数都是让我去下载一些客户端的软件,我不想用,最后发现一个chrome插件bilibili-helper-2.1.7.crx
可以帮我一个一个下载,但它不能满足我一下子下载的全部视频的功能,然后,我思考了片刻,
决定利用这个插件加上我所学的自动化测试框架,简单写一些代码,尝试完成这个批量下载某个up主的全部视频的功能,
于是就有了这个项目,虽然它很小,而且是寄生在bilibili-helper-2.1.7.crx插件之上的,但不得不说它确实解决了
我当下的小问题。
原理:
chromedriver 加载bilibili-helper插件--->打开浏览器--->控制台输入up主的mid
---> 查到它的所有视频id(它是分页的,需要处理下哈)--->根据每个视频id页次访问页面--->使用selenium 点击下载按钮
--->等待页面出现下载完成文字,然后进行下一个视频的下载-->直至视频列表被遍历完,该up主的所有视频被下载
使用说明:
1.先运行 LoadChromeDriver.py 会自动下载与你浏览器匹配的chromedriver
2.再运行LoadExtensionPlug.py 文件输入up主的mid
mid 是每个up主的唯一id,例如up主老番茄的主页url为: https://space.bilibili.com/546195/,那么后面的数字546195即是老番茄的 mid
3.然后生成的视频会在你的 D:\myVideo\ 文件夹下,如果你没有D盘,请更改代码里的path变量,当然你也可以改为其他
4.使用前请关掉你的浏览器,不然会报错,这是一个bug,如果下载失败,请清空一下浏览器的缓存
我用的浏览器版本如下
版本 107.0.5304.88(正式版本) (64 位)
如果你使用的是其他版本的浏览器,请如 chromedriver 下载站点下载与浏览器版本对应的chromedriver
你也可以运行 本项目中的LoadChromeDriver.py 自动帮你下载和你浏览器匹配的chromedriver,但你事先必须安装chrome浏览器、
效果:
输入 up主老番茄 的 mid 并按回车键
![在这里插入图片描述]
参考
1.bilibili-helper 下载地址
2.使用selenium 加载chrome插件
3.selenium 下载文件时 出现保存弹窗让选路径,下载被卡主问题
4.Web自动化遇到shadowDOM节点操作
5.selenium 获取shadow-root的元素
6.自动下载与用户浏览器匹配的ChromeDriver
我的
我的博客
github链接文章来源:https://www.toymoban.com/news/detail-429110.html
免责声明
该项目和文章只是用于selenium的学习和研究,不得使用它来进行其他违法行为,使用该教程进行的一切违法行为与本博主
无关。文章来源地址https://www.toymoban.com/news/detail-429110.html
到了这里,关于selenium加载插件自动化控制插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!