Go设计模式学习准备——下载bilibili合集视频

打印 上一主题 下一主题

主题 845|帖子 845|积分 2535

需求

前段时间面试,被问到设计模式。说实话虽然了解面向对象、多态,但突然被问到设计模式,还要说清解决什么问题,自己是有些懵的,毕竟实习主要工作是在原项目基础进行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
下面是简单的脚本下载
  1. #-- coding: utf-8 --
  2. #  下载bilibili合集视屏
  3. # 首先八爪鱼爬取网页所有视频地址,保存到excel
  4. # 然后python读取excel文件,到字典中
  5. # 最后循环便利,使用you-get下载
  6. import pandas as pd
  7. import os
  8. def readExcel(file):
  9.     df = pd.read_excel(file, sheet_name = "Sheet1") # sheet_name不指定时默认返回全表数据
  10.     return df["title"]  # 返回表格中title列,此列存放视频的地址
  11. def download(address): # 下载
  12.     print(address) # 测试
  13.     for i in address:
  14.         print("-------")
  15.         os.system("you-get -o ./bilibili "+ str(i)) # -o后面是保存路径,根据个人需求更改
  16. if __name__ == "__main__":
  17.     file_path = r"./bilibili.xlsx"
  18.     videos = readExcel(file_path)
  19.     download(videos)
复制代码
总结

解决方案比较简单,也没考虑太多的优化。暂时够用,若有更好改进,欢迎评论和指出!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表