需求前段时间面试,被问到设计模式 。说实话虽然了解面向对象、多态,但突然被问到设计模式,还要说清解决什么问题,自己是有些懵的,毕竟实习主要工作是在原项目基础进行CRUD,自己还是没有深度思考 , 所以只能简单介绍自己知道的简单工厂模式等 。趁着回家这段假期,充电学习一下Go设计模式!
学习资料B站搜索一下,突然发现刘丹冰老师更新了设计模式课程 。因为前面学习Go基础也是通过书籍和刘丹冰老师的视频学习 。设计模式链接如下:
- https://www.bilibili.com/video/BV1Eg411m7rV
问题you-get是下载利器,然而bilibili的合集下载会有些问题,具体原因没有仔细分析,个人怀疑是获取不了合集下的所有视频链接 。所以本文通过八爪鱼进行获取视频链接,再通过python写脚本,you-get下载全部视频 。
工具准备个人是Mac电脑,具体软件或环境:
- 八爪鱼软件
- Python 3.8.9, 安装pandas包
- you-get(以上环境都是以往安装的,网上也有不错的安装教程,这里就不赘述了 。)
![Go设计模式学习准备——下载bilibili合集视频](http://img.zhejianglong.com/231017/23431221V-0.png)
文章插图
软件操作比较简单,主要步骤:
- 建立新任务,即添加链接,点击开始采集
- 根据网页分析结果进行采集和保存
- 导出采集的视频链接数据为excel
文章插图
#-- coding: utf-8 --#下载bilibili合集视屏# 首先八爪鱼爬取网页所有视频地址,保存到excel# 然后python读取excel文件,到字典中# 最后循环便利,使用you-get下载import pandas as pdimport osdef readExcel(file):df = pd.read_excel(file, sheet_name = "Sheet1") # sheet_name不指定时默认返回全表数据return df["title"]# 返回表格中title列,此列存放视频的地址def download(address): # 下载print(address) # 测试for i in address:print("-------")os.system("you-get -o ./bilibili "+ str(i)) # -o后面是保存路径,根据个人需求更改if __name__ == "__main__":file_path = r"./bilibili.xlsx"videos = readExcel(file_path)download(videos)
总结解决方案比较简单,也没考虑太多的优化 。暂时够用,若有更好改进 , 欢迎评论和指出!【Go设计模式学习准备——下载bilibili合集视频】
推荐阅读
- 学习ASP.NET Core Blazor编程系列五——列表页面
- 七 Netty 学习:NioEventLoop 对应线程的创建和启动源码说明
- ZCTF note3:一种新解法
- 学习ASP.NET Core Blazor编程系列四——迁移
- 【设计模式】Java设计模式 - 命令模式
- 五 Netty 学习:服务端启动核心流程源码说明
- 【前端必会】走进webpack生命周期,另类的学习方法
- opencvcv.line
- k3s部署全过程
- 三十六 Java开发学习----SpringBoot三种配置文件解析