Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub 5W 星:一行命令下载全网视频的两个开源项目 #30

Open
biaochenxuying opened this issue Feb 27, 2021 · 0 comments
Assignees

Comments

@biaochenxuying
Copy link
Collaborator

大家好,我是你们的 猫哥,那个不喜欢吃鱼、又不喜欢喵 的超级猫 ~

前言

相信大多数人都有想下载某个网站上的视频的想法,比如 B站、优酷、YouTube、腾讯视频等网站上的优质视频。

但是大多数视频网站没有提供下载的功能,如果你想下载,该怎么办?

有没有安全可靠且方便的方法,一键下载全网视频?

答案是:有的,今天推荐两个可以一键下载全网视频的 GitHub 项目。

可惜的是这个两个项目不是纯前端的项目,哈哈。

1. You-Get

第一个 GitHub 项目可完美解决下载问题,标星 39.2k,一行命令下载全网视频。

支持的国内网站:

如何使用

安装方法一:

you-get 的正式版本在 PyPI 上分发,可以通过 pip 软件包管理器从 PyPI 镜像轻松安装。请注意,您必须使用 Python 3 版本的 pip:

pip3 install you-get

安装方法二:通过 Antigen安装(适用于Zsh用户),将以下行命令添加到您的.zshrc中:

antigen bundle soimort/you-get

安装方法三:直接克隆或者下载该项目即可:

git clone git://github.com/soimort/you-get.git

如何下载

1. 可通过如下命令查看该视频的详细信息。

you-get -i '视频url'

$ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site:                YouTube
title:               Me at the zoo
streams:             # Available quality and codecs
    [ DEFAULT ] _________________________________
    - itag:          43
      container:     webm
      quality:       medium
      size:          0.5 MiB (564215 bytes)
    # download-with: you-get --itag=43 [URL]

    - itag:          18
      container:     mp4
      quality:       medium
    # download-with: you-get --itag=18 [URL]

    - itag:          5
      container:     flv
      quality:       small
    # download-with: you-get --itag=5 [URL]

    - itag:          36
      container:     3gp
      quality:       small
    # download-with: you-get --itag=36 [URL]

    - itag:          17
      container:     3gp
      quality:       small
    # download-with: you-get --itag=17 [URL]
  1. 下载方式更简单,只需一行命令即可下载了:

you-get '视频url'

比如:

$ you-get http://www.fsf.org/blogs/rms/20140407-geneva-tedx-talk-free-software-free-society
Site:       fsf.org
Title:      TEDxGE2014_Stallman05_LQ
Type:       WebM video (video/webm)
Size:       27.12 MiB (28435804 Bytes)

Downloading TEDxGE2014_Stallman05_LQ.webm ...
100.0% ( 27.1/27.1 MB) ├████████████████████████████████████████┤[1/1]   12 MB/s

项目地址:

https://github.com/soimort/you-get

2. annie

另一个开源项目操作方法也差不多,只不过这个项目支持批量下载,还支持一些其它の网站。

Windows 用户可以使用 Scoop 安装。直接在 Windows powershell 输入以下命令即可。

scoop install annie

MacOS 用户通过 Homebrew 进行安装,需要分别安装 FFmpegpeg 以及 Annie。

brew install ffmpeg
brew install annie

直接下载视频

比如我们想下载 B站 王刚师傅的美食视频教程,用法很简单,直接在 annie 命令后加上该页面链接即可,默认下载最高清晰度视频。

annie https://www.bilibili.com/video/BV1sE411n74q?from=search"&"seid=13486823342330625965

一段1080p 视频几秒钟就下载完成。

-i 命令:显示视频信息但不下载:用于查看所有不同清晰度的视频的信息。

$ annie -i https://www.youtube.com/watch?v=dQw4w9WgXcQ

 Site:      YouTube youtube.com
 Title:     Rick Astley - Never Gonna Give You Up (Video)
 Type:      video
 Streams:   # All available quality
     [248]  -------------------
     Quality:         1080p video/webm; codecs="vp9"
     Size:            49.29 MiB (51687554 Bytes)
     # download with: annie -f 248 ...

     [137]  -------------------
     Quality:         1080p video/mp4; codecs="avc1.640028"
     Size:            43.45 MiB (45564306 Bytes)
     # download with: annie -f 137 ...

     [398]  -------------------
     Quality:         720p video/mp4; codecs="av01.0.05M.08"
     Size:            37.12 MiB (38926432 Bytes)
     # download with: annie -f 398 ...

     [136]  -------------------
     Quality:         720p video/mp4; codecs="avc1.4d401f"
     Size:            31.34 MiB (32867324 Bytes)
     # download with: annie -f 136 ...

     [247]  -------------------
     Quality:         720p video/webm; codecs="vp9"
     Size:            31.03 MiB (32536181 Bytes)
     # download with: annie -f 247 ...

-f 命令:指定清晰度下载视频

根据刚才我们得到的视频信息,我们可以选择下载360p画质的视频: 即在annie 命令后,加入选项 -f 16。

annie -f 16 https://www.bilibili.com/video/BV1sE411n74q?from=search"&"seid=13486823342330625965

-F 命令:批量下载视频

这个方法非常实用,比如在 B站上面可能会有一些优质的视频,但是过不了多久就会被下降,利用这个功能,你就能批量保存 B站或者其它视频网站的视频。

$ annie -F ~/Desktop/u.txt

 Site:      微博 weibo.com
 Title:     在Google,我们设计什么? via@阑夕
 Type:      video
 Stream:
     [default]  -------------------
     Size:            19.19 MiB (20118196 Bytes)
     # download with: annie -f default "URL"

 19.19 MiB / 19.19 MiB [=================================] 100.00% 9.69 MiB/s 1s

......

项目地址:

https://github.com/iawia002/annie

最后

初级前端与高级前端之间,很多时候并不是懂的知识点有多难的差别,很大原因就是投入学习前端的时间、经验的差别,其实就是信息差。

如果有一个地方能又快又好的获得这些优质的前端信息,那么将会大大缩短从初级到高级的时间。

前端GitHub 就是这样一个仓库,能帮助前端开发人员节省时间的仓库!

公众号:前端GitHub,专注于挖掘优秀的前端开源项目,抹平你的前端信息不对称。

已经推荐了 面试项目CSS 奇技淫巧项目代码规范项目数据结构与算法项目JavaScript 奇技淫巧项目前端必备在线工具 等专题的近 200 个优秀项目了。

平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目


关于猫哥,大家可以看看我的年终总结 前端工程师的 2020 年终总结 - 乾坤未定,你我皆黑马

不知不觉,已经写到第 25 期了呢,往期精文请看下方宝藏仓库,请慎入!

https://github.com/FrontEndGitHub/FrontEndGitHub

往期精文

微信搜 “前端GitHub”,回复 “电子书” 即可以获得 160 本前端精华书籍哦,猫哥 WX:CB834301747

@biaochenxuying biaochenxuying self-assigned this Feb 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant