需求

前段时间面试,被问到设计模式。说实话虽然了解面向对象、多态,但突然被问到设计模式,还要说清解决什么问题,自己是有些懵的,毕竟实习主要工作是在原项目基础进行CRUD,自己还是没有深度思考,所以只能简单介绍自己知道的简单工厂模式等。趁着回家这段假期,充电学习一下Go设计模式!

学习资料

B站搜索一下,突然发现刘丹冰老师更新了设计模式课程。因为前面学习Go基础也是通过书籍和刘丹冰老师的视频学习。

设计模式链接如下:

由于家里网络和个人学习习惯,喜欢把视频下载下来学习,会更专注下来。

上次下载忘了写博客,这次专门记录一下,方便下次操作。

问题

you-get是下载利器,然而bilibili的合集下载会有些问题,具体原因没有仔细分析,个人怀疑是获取不了合集下的所有视频链接。所以本文通过八爪鱼进行获取视频链接,再通过python写脚本,you-get下载全部视频。

工具准备

个人是Mac电脑,具体软件或环境:

  • 八爪鱼软件
  • Python 3.8.9, 安装pandas包
  • you-get

    (以上环境都是以往安装的,网上也有不错的安装教程,这里就不赘述了。)

下载步骤

1. 八爪鱼将合集视屏的链接收集起来并下载

软件操作比较简单,主要步骤:

  • 建立新任务,即添加链接,点击开始采集
  • 根据网页分析结果进行采集和保存
  • 导出采集的视频链接数据为excel

2. 对合集中所有视频链接进行读取和you-get下载

excel命名为bilibili.xlsx

下面是简单的脚本下载

#-- coding: utf-8 --

#  下载bilibili合集视屏
# 首先八爪鱼爬取网页所有视频地址,保存到excel
# 然后python读取excel文件,到字典中
# 最后循环便利,使用you-get下载 import pandas as pd
import os def 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合集视频的更多相关文章

  1. SecureCRT 下载,安装,绝佳配色,实用配置,上传下载配置合集

    SecureCRT 下载,安装,绝佳配色,实用配置,上传下载配置合集 chocoball 发布于 2年前,共有 3 条评论 SecureCRT 是一款支持 SSH2.SSH1.Telnet.Telne ...

  2. 嵌入式ARM-Linux开发工具下载地址合集

    insight gdb  http://ftp.twaren.net/Unix/Sourceware/ 说明:GDB可视化调试工具 http://gro.clinux.org/frs/?group_i ...

  3. Laravel下载地址合集

    laravel官网直接下载地址都没了. 都要用composer装? 在此记录一下直接下载地址 master      https://github.com/laravel/laravel/archiv ...

  4. oracle10G/11G官方迅雷下载地址合集

    原文链接:https://blog.csdn.net/zlsunnan/article/details/8058235 ORACLE11GR2 Oracle Database 11g Release ...

  5. 如何使用python下载网站上的视频

    youtube-dl 从名字上也能看出来,是专门用来下载YouTube的视频. 不过本人对YouTube不感兴趣,但是这个模块可以用来下载bilibili上的视频我们就来试一试 首先pip insta ...

  6. win10 LTSC系统 安装应用商店和纸牌合集,解决从应用商店安装Solitaire Collection纸牌打开空白的问题

    家里台式机换了win10系统,想给老妈玩那个纸牌游戏(我也超喜欢的!. 发现这个系统没有自带纸牌游戏Microsoft Solitaire Collection, 过分的是,连应用商店都没有...呵呵 ...

  7. 最全的TV视频应用合集,包含50多款客户端,有丰富直播点播

    这是我目前找到的 最好的视频应用合集,与坛友分享下.有50多款视频客户端,基本覆盖目前市面上口碑比较好的视频应用了. 里面有丰富的直播客户端,像 龙龙直播.泰捷直播.果子 Tv.More Tv等,还有 ...

  8. 精彩看点 | GIAC大会PPT+视频合集全量放送!

    GIAC是中国互联网技术领域的行业盛事,每年从互联网架构最热门的系统架构设计.人工智能.机器学习.工程效率.区块链.分布式架构等领域甄选前沿有典型代表的技术创新及研发实践的架构案例,分享他们在本年度最 ...

  9. 如何使用捷映App制作朋友圈九宫格视频图片合集

    在刷朋友圈的过程中,看到九宫格的视频图片合集,带有酷炫的音效和动效,展现效果非常好,那么我们该如何制作呢?下面我为大家介绍. 第一步,我们需要在各大应用市场搜索[捷映视频制作]App,点击[安装]. ...

随机推荐

  1. 图论板子总结 / Graph Summary

    Template List: 最短路问题:Dijkstra(朴素版.堆优化版),Bellman-Ford,SPFA,Floyd 最小生成树:Prim.Kruskal 二分图问题:染色法.匈牙利算法 朴 ...

  2. git fetch和git pull对比

    情景重现 你:面试官您好,我是xxx,毕业于xxx学校,工作xxx年,精通各种git命令. 面试官:您好您好,我问个常见的问题考察一下您的技术水平哈.请问,git pull和git fetch有什么区 ...

  3. 2022-7-15 pan小堂 数组排序算法

    二分查找(理解) public ych class{ public static void main(String[] args){ ///运用二分查找需要 数组在的值是递升的 int[] arr1 ...

  4. 剑指offer——day-1

    今天开始记录一下剑指offer的题目训练,提升一下自己的编程能力吧 题目一: 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列 ...

  5. 如何设计一个分布式 ID 发号器?

    大家好,我是树哥. 在复杂的分布式系统中,往往需要对大量的数据和消息进行唯一标识,例如:分库分表的 ID 主键.分布式追踪的请求 ID 等等.于是,设计「分布式 ID 发号器」就成为了一个非常常见的系 ...

  6. 适合初学者的使用CNN的数字图像识别项目:Digit Recognizer with CNN for beginner

    准备工作 数据集介绍 数据文件 train.csv 和 test.csv 包含从零到九的手绘数字的灰度图像. 每张图像高 28 像素,宽 28 像素,总共 784 像素.每个像素都有一个与之关联的像素 ...

  7. JavaScript 里三个点 ...,可不是省略号啊···

    摘要:Three dots ( - ) in JavaScript. 本文分享自华为云社区<JavaScript 里三个点 ... 的用法>,作者: Jerry Wang . Rest P ...

  8. while 循环、do- while 循环 和 for 循环之间的那点事

    C语言自学之三种循环比较 使用循环计算1-2+3-4+5-6+--100的值?    在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能.    运行结果为: sum=- ...

  9. 手把手教你分析MySQL查询性能瓶颈,包教包会

    当一条SQL执行较慢,需要分析性能瓶颈,到底慢在哪? 我们一般会使用Explain查看其执行计划,从执行计划中得知这条SQL有没有使用索引?使用了哪个索引? 但是执行计划显示内容不够详细,如果显示用到 ...

  10. .NET WebAPI 采用 IDistributedCache 实现分布式缓存过滤器 Redis 模式

    分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护. 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时. 与其 ...