说明
项目网站:https:///iawia002/annie
Annie是一个基于go语言编写的下载器,先来解释一下这几个形容词。
简洁:程序无UI界面,通过命令行操作,且简单易懂。
强大:支持Windows、macOS、Linux系统,各大视频网站均可下载,且还能下载其他文件如音频,图片等。在项目网站列举的有:抖音、哔哩哔哩、半次元、pixivision、优酷、YouTube、爱奇艺、芒果TV、糖豆广场舞、Tumblr、Vimeo、Facebook、斗鱼视频、微博、Instagram、Twitter、腾讯视频、网易云音乐、音悦台、极客时间、聯合新聞網、TikTok
轻量级:软件本体不到3MB,加上用来合成视频的软件FFmpeg也不过70MB。
本文详细介绍Windows,其他系统请查看项目地址,已经很详细了。
安装
Windows
这里使用Windows预装的PowerShell进行操作,可以在程序搜索框搜索PowerShell,Win10也可右键开始按钮->Windows PowerShell。
1. 环境配置
①Windows 7 SP1 + / Windows Server 2008+②.NET Framework 4.5+和PowerShell 5+, 一般的Win10系统符合要求可直接跳过。 **查看.NET Framework版本:**在PowerShell窗口中输入
$PSVersionTable.CLRVersion
或打开`控制面板->程序->启用或关闭 Windows 功能
若版本过低,请点击下载.NET Framework 4.5.2并安装。
**查看PowerShell版本:**在PowerShell窗口中输入
$PSVersionTable.PSVersion
Major为版本号。
若版本过低,则需下载。这里有微软官方说明下载并安装 Windows PowerShell 5.1
2. 安装scoop
在PowerShell窗口中输入
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
这是一个强大的命令行包管理工具,在我的另一篇中有介绍。如遇报错,请到这里查看:scoop安装详解
3. 安装annie
在PowerShell窗口中输入
scoop install annie
该命令会为你安装FFmpeg(合并视频用)和Annie
同理,如果下载过程中断,需要删除C:\Users<user>\scoop\app内相应的文件夹。
macOS
在终端输入
brew install ffmpeg
brew install annie
由于博主手头没有macOS无法测试,欢迎留言讨论。
Linux
首先根据自己的系统构架选择安装包:传送门 目前最新版是0.9.8,我的系统是64位Debian系统,那么执行命令:
wget https:///iawia002/annie/releases/download/0.9.8/annie_0.9.8_Linux_64-bit.tar.gz
tar zxvf annie_*.tar.gz
mv annie /usr/local/bin/
rm -rf annie_*.tar.gz
再安装FFmpeg
wget https://www.moerats.com/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
tar xvf ffmpeg-git-*-static.tar.xz
mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/local/bin/
rm -rf ffmpeg-git-*
用法
annie [OPTIONS] URL [URL...]
Options
-i Information only
-F string
URLs file path
-d Debug mode
-j Print extracted data
-v Show version
Download:
-f string
Select specific stream to download
-p Download playlist
-n int
The number of download thread (only works for multiple-parts video) (default 10)
-c string
Cookie
-r string
Use specified Referrer
-cs int
HTTP chunk size for downloading (in MB) (default 0)
Network:
-retry int
How many times to retry when the download failed (default 10)
Playlist:
-start int
Playlist video to start at (default 1)
-end int
Playlist video to end at
-items string
Playlist video items to download. Separated by commas like: 1,5,6,8-10
Filesystem:
-o string
Specify the output path
-O string
Specify the output file name
Subtitle:
-C Download captions
Youku:
-ccode string
Youku ccode (default "0590")
-ckey string
Youku ckey (default "7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026")
-password string
Youku password
aria2:
Note: If you use aria2 to download, you need to merge the multi-part videos yourself.
-aria2
Use Aria2 RPC to download
-aria2addr string
Aria2 Address (default "localhost:6800")
-aria2method string
Aria2 Method (default "http")
-aria2token string
Aria2 RPC Token
基本用法
无选项,直接下载视频,默认是最高清晰度,如:annie https://www.iqiyi.com/v_19rrnqxz7k.html
-i选项,仅显示信息但不下载,如annie -i https://www.iqiyi.com/v_19rrnqxz7k.html:
这时可以根据提示使用**-f选项来选择清晰度,如我要下载896*376,则annie -f 2 https://www.iqiyi.com/v_19rrnqxz7k.html:
此时文件已经下载至程序运行目录,对于windows即位于C:\Users<user>,我的用户名为Sunboy,则可以找到我的视频:C:\Users\Sunboy\战狼.f4v 如果你想下载多个视频,那么用空格隔开网址**。
也可以使用**-F选项**下载txt中的所有链接,如我把链接都放到了D:\text.txt,则执行annie -F D:\text.txt -i列举信息,annie -F D:\text.txt -f 80下载指定清晰度
-o选项,用于指定下载目录,如下载到D盘视频文件夹,即annie -o D:\视频\ https://www.iqiyi.com/v_19rrnqxz7k.html
播放列表
目前播放列表只支持bilibili、youtube和糖豆广场舞,加上参数-p即可,如查看所有集:
annie -i -p https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36,再下载指定清晰度:annie -f 80 -p https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36,也可以下载指定集:annie -f 80 -p -start 1 -end 10 https://www.bilibili.com/bangumi/play/ss20117?spm_id_from=333.851.b_62696c695f7265706f72745f74656c65706c6179.36
会员
目前会员只支持bilibili和优酷,当然首先你得有个会员才能下载。我刚好有优酷会员,做个一演示。
首先在浏览器登陆会员,然后获取cookies的P_pck_rm参数,保存到cookies.txt,格式如:P_pck_rm=woxiaxiede。至于获取cookies,推荐使用EditThisCookie插件,我是用的是Chrome可以直接从插件商店获取(。安装完成后到设置更改导出格式为Semicolon separated name=value paris,复制到txt文件,仅需保留P_pck_rm=woxiaxiede。
使用时添加**-c选项**:annie -c D:\cookies -i https://for.example.com/以查看信息。
这里我遇到一个报错
按照提示将&替换为"&"即可。
其他
可以使用**-aira2**选项提升下载速度,当然需要首先安装aria2。 annie也可以下载普通文件,等同于wget命令。 其他用法详见项目地址。
推荐
除了Annie,github上还有不少类似的项目,安装和使用方法也类似