0

自动定时下载YouTube视频脚本

 1 year ago
source link: https://vpsxb.net/4382/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

小白很久之前介绍过一款好用的YouTube视频下载工具:Youtube 专业下载工具,Youtube-dl & yt-dlp详细使用教程与初学上手示例,我们可以非常方便的把自己喜欢的油管up主的视频下载下来,但是每次都需要手动输入命令行下载,总感觉差了点意思,要是可以每天自动定时下载,岂不美哉。

202302220335868.png

yt-dlp下载脚本

关于yt-dlp的安装以及使用,Youtube 专业下载工具,Youtube-dl & yt-dlp详细使用教程与初学上手示例,这篇教程已经写的很清楚了,此处不再赘述,我们只需要一个简单的脚本即可,以不良林的油管视频为例:



  1. #!/bin/bash
  2. yt-dlp -o "%(title).150B [%(id)s].%(ext)s" -f 22 https://www.youtube.com/@bulianglin/videos
  1. 为了避免视频文件名过长的问题,小白这里统一限制下文件名长度
  2. 我们采用22号格式,也就是720P的视频,如果需要其他格式的请自行更改

我们将以上的脚本文件保存为down-yt.sh,并赋予执行权限:



  1. chmod +x down-yt.sh

小白试了下,发现yt-dlp默认是下载到当前的目录的,所以我们需要手动指定下载目录。要将视频下载到指定路径,可以在 -o 选项中使用目标路径。以下是一个示例 shell 脚本,它将下载指定 YouTube 视频到 /Users/yourname/Downloads 目录下:



  1. #!/bin/bash
  2. yt-dlp -o "/Users/yourname/Downloads/%(title).150B [%(id)s].%(ext)s" -f 22 https://www.youtube.com/@bulianglin/videos

在这个示例中,我们在 -o 选项中指定了目标路径 /Users/yourname/Downloads/,这是一个可替换为您自己的目标路径的示例路径。下载的视频文件将被保存在该目录下,并按照指定的格式命名。

请注意,您需要确保目标路径已经存在,否则下载会失败。如果您希望 shell 脚本能够创建目标路径(如果它不存在的话),您可以在脚本中添加一条 mkdir 命令,例如:



  1. #!/bin/bash
  2. mkdir -p /Users/yourname/Downloads/
  3. yt-dlp -o "/Users/yourname/Downloads/%(title).150B [%(id)s].%(ext)s" -f 22 https://www.youtube.com/@bulianglin/videos

加入定时任务

要将脚本添加到定时任务中,您可以使用 Linux 系统中的 cron 服务。cron 是一个可以在指定时间间隔内自动运行脚本的服务。

以下是将 shell 脚本添加到 cron 中以在每天凌晨 5 点自动运行的步骤:

  1. 打开终端并输入 crontab -e 命令,这将打开您的 cron 定时任务配置文件。
  2. 如果您第一次打开此文件,系统会提示您选择默认编辑器,可以选择 nanovi 等。
  3. 在文件末尾添加以下一行:
    0 5 * * * /bin/bash /path/to/down-yt.sh
  4. 这行将每天凌晨 5 点执行 /path/to/download_script.sh 脚本。请将 /path/to/download_script.sh 替换为您自己的脚本路径。如果脚本不在 PATH 中,需要使用绝对路径。

    0 5 * * * 是一个 cron 格式的时间表达式,它指定了脚本运行的时间。在这个例子中,它的含义是“在每天的第 0 分钟和第 5 小时运行脚本”。

  5. 保存并关闭文件。如果您使用 nano 编辑器,则按 Ctrl + X,然后按 Y 保存文件。
  6. 重启 cron 服务,以使更改生效。在终端中输入以下命令:
    sudo systemctl restart cron
    或者,如果您的系统没有使用 systemd,则可能需要运行以下命令:
    sudo service cron restart

    现在,您的 shell 脚本将被添加到 cron 定时任务中,并在每天凌晨 5 点自动运行。如果您希望更改运行时间,可以修改 cron 时间表达式。


VPS小白 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK