9 个版本
0.2.6 | 2023 年 11 月 11 日 |
---|---|
0.2.5 | 2023 年 11 月 4 日 |
0.2.4 | 2023 年 9 月 11 日 |
0.2.3 | 2023 年 6 月 8 日 |
0.1.1 | 2022 年 11 月 6 日 |
#856 in 命令行工具
72KB
1.5K SLoC
Gert
一个从 Reddit 下载媒体的命令行工具
- 支持
- Reddit:PNG/JPG 图像,GIF,图片画廊,视频
- Giphy:GIF
- Imgur:直接图片,GIFV 和相册
- Gfycat/Redgifs:GIF
- Streamable:视频
- 从 Imgur/Gfycat/Redgifs 下载的 GIF 将作为 mp4 格式
安装
先决条件
ffmpeg 是软依赖,安装说明请参考此 链接。
您可以跳过它,但没有它
- Reddit 自身的视频(v.redd.it)将没有声音
- GIF 不会自动转换为 .mp4
使用 cargo
如果您已经安装了 Rust,可以使用 cargo
安装
cargo install gert
使用 homebrew
brew tap mcdallas/gert
brew install gert
GitHub 发布
只需获取适用于您操作系统的最新 版本
运行
只需使用(多个)-s
标志传递您想要从中下载媒体的子版块的名称
gert -s wallpapers -s earthporn
要下载单个帖子/集合的媒体,只需传递帖子的 URL
gert https://old.reddit.com/r/wallpapers/comments/tckky1/some_walls_from_my_collections_vol6/
命令行选项
Simple CLI tool to download media from Reddit
USAGE:
gert [FLAGS] [OPTIONS] <URL> --subreddit <SUBREDDIT>...
FLAGS:
-c, --conserve-gifs Disable gif to mp4 conversion
--debug Show the current config being used
-r, --dry-run Dry run and print the URLs of saved media to download
-h, --help Prints help information
-H, --human-readable Use human readable names for files
-V, --version Prints version information
OPTIONS:
-e, --from-env <ENV_FILE> Set a custom .env style file with secrets
-f, --feed <feed> Feed to download from [default: hot] [possible values: hot, new, top, rising]
-l, --limit <LIMIT> Limit the number of posts to download [default: 25]
-m, --match <MATCH> Pass a regular expresion to filter the title of the post
-o, --output <DATA_DIR> Directory to save the media to [default: .]
-p, --period <PERIOD> Time period to download from [default: day] [possible values: now, hour, day,
week, month, year, all]
-s, --subreddit <SUBREDDIT>... Download media from these subreddits
-u, --upvotes <NUM> Minimum number of upvotes to download [default: 0]
ARGS:
<URL> URL of a single post to download
可选的 Reddit 认证
认证不是必需的,但如果您想获得更慷慨的速率限制,您可以在 Reddit 中创建一个新的应用程序并将凭证传递给 gert
- 在 https://www.reddit.com/prefs/apps 创建一个新的脚本应用程序
- 在页面底部点击“创建应用程序”
- 为您的应用程序输入一个名称,例如:
gert
- 将应用程序类型选择为“脚本”
- 设置 "https://127.0.0.1:8080" 或任何其他重定向 URL
- 点击“创建应用程序”- 您应该会看到应用程序已创建
- 在您的应用程序名称下方,您应该会看到一个随机字符串 - 那就是您的客户端 ID
- 在“密钥”字段旁边的随机字符串是您的客户端密钥
- 复制返回的客户端 ID 和客户端密钥信息
- 创建一个 .env 文件,包含以下键,例如
gert.env
CLIENT_ID="<client_id>"
CLIENT_SECRET="<client_secret>"
USERNAME="<username>"
PASSWORD="<password>"
注意:如果您启用了双因素认证,请确保您设置了 PASSWORD=<password>:<2FA_TOTP_token>
代替
致谢
依赖项
~17–32MB
~516K SLoC