下载 网页视频

下载 网页视频对于有仓鼠收集症的人是经常的操作,如果你想保存网站上的优秀视频,比如 Bilibili、YouTube、Instagram、Twitter 等,下面介绍的方法一定有适合你需求的。

先简单对比一下各种方法:

  1. 网页下载服务。就是专门下某种网站视频的网站,由于是在线服务,使用方便,无须任何前置准备,但是速度可能较慢;一般一次只能下一个链接,不适合大批量下载。
  2. GUI 软件。着重通用下载器 IDM,它能嗅探网页上的视频,然后点一下就能下载。需要安装软件,另外也不适合大批量下载,不能自动化。
  3. 命令行工具。比如 yt-dlp,安装和配置麻烦一点,但是一旦设置好,能满足自动化大批量下载,可能在零碎情况下表现略逊 IDM 这种。

如果愿意折腾,推荐常看的网站配置好命令行工具,其他网站使用 IDM,临时下载用网页下载服务。

网页 下载 服务

以下网站,AhFei 都没用过,只是过去随手收集。


YouTube

下载字幕: Download subtitles from Youtube, Viki, Viu, Vlive and more! – DownSub


Twitter

用过这个,不错:Twitter video downloader – Download twitter videos to mp4 online (twitterdownloader.co)


Instagram


Tiktok


Facebook


多网站

GUI 软件

在自己电脑上,安装一个通用下载软件,随时使用很方便。

IDM

IDM 官网: Internet Download Manager: The fastest download accelerator

一张图感受 IDM 的便捷使用:自动嗅探 + 一键下载。

少不了推荐使用正版,放个破解激活的方法:✅一键激活: lstprjct/IDM-Activation-Script: IDM Activation & Trail Reset Script (github.com)

Hitomi

桌面应用。没用过。

「Hitomi」是一个开源免费的资源辅助性下载工具,支持批量解析和下载多个常见网站上的视频,图片,音乐等内容。支持最高24线程下载,支持第三方的下载源加速,支持下载BT种子和M3U(8)文件。

此工具支持的网站包括但不限于:B站、新浪微博、Youtube、汤不热、推特、脸书、Tiktok、Ins、Pixiv、Danbooru、NicoNico。以及Pornhub、nhentai、XVideos、E(x)Hentai…

GitHub: KurtBestor/Hitomi-Downloader: :cake: Desktop utility to download images/videos/music/text from various websites, and more. (github.com)

DownKyi

过去用过的一款 Windows 系统有用户界面的 B 站下载客户端: leiurayer/downkyi: 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 (github.com)

可以登录账号从而下载收藏夹,但是视频多的话,很容易闪退。

命令行工具

使用系统以 Linux 为准,图的就是自动化,对于 Windows 和 Mac,也都有相应版本。

BBDown 下载 B 站视频

详情查看: BBDown 下载 B 站视频 – 快捷的命令行工具 – 承飞之咎 (vfly2.com)

yt-dlp 下载 YouTube 视频

这个支持超多网站,常用的都支持,不过我目前只是用来下载油管视频。

详情查看:yt-dlp 下载 YouTube 视频 – 快捷的命令行工具 – 承飞之咎 (vfly2.com)

如果要在 Windows 上使用,可以参考文章: 稳定实用的 Youtube 视频下载器 – 0x5E (xlog.app)

多网站合一下载

如果你看过 BBDown 和 yt-dlp 的使用说明,会发现它们的批量下载脚本不能说十分相似,只能说一模一样。

所以,不如合二为一,用一个脚本,根据不同链接,自动调用不同工具下载。


先根据流程安装和配置好两个工具,yt-dlp 和 BBDown ,BBDown 还需要登录。

然后创建脚本文件

filename="videodl.sh"
touch $filename && chmod a+x $filename && vim $filename

编辑脚本文件

vim ~/videodl.sh

修改 WEBLIST 变量,如果不了解,看上面俩工具流程。还有修改 YTDIR 和 BBDIR,分别是油管和 B 站的下载目录。

#!/bin/bash
# download bilibili videos using BBDown
# download multiple platforms (youtube, ) videos using yt-dlp

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# export http_proxy="http://127.0.0.1:1080"
# export https_proxy="http://127.0.0.1:1080"
# export no_proxy=127.0.0.1,localhost

# 存有 视频网址 的文件路径
URLLIST="/tmp/urllist"
WEBLIST="https://forward.vfly.app/urllist"
# 下载到哪个目录
YTDIR="/home/vfly2/mmp/youtube"
BBDIR="/home/vfly2/mmp/bilibili"

# ------------------下面的无须配置--------------------
# 下载网页上的视频链接
curl -k $WEBLIST > $URLLIST

# 取文件指定的第几行的内容,变量1是文件路径,变量2是第几行
function grepline(){
    url=$(cat ${1} | head -n ${2} | tail -n 1)
    echo ${url}
}

# 根据网址链接,选择下载工具进行下载,第一个参数是网址
function dl(){
    DLURL=${1}
    # 如果 ${URL} 的文本以 https://www.youtube 开头,则执行
    if [[ ${DLURL} == "https://www.youtube"* ]]; then
    /usr/local/bin/yt-dlp --paths ${YTDIR} ${DLURL}
    elif [[ ${DLURL} == "https://www.twitter"* ]]; then
    /usr/local/bin/yt-dlp ${DLURL}
    else
    /usr/local/bin/BBDown --work-dir ${BBDIR} ${DLURL}
    fi
}

LINE=1
URL=$(grepline ${URLLIST} ${LINE})   # 先取第一行
ENDLINE=$(cat ${URLLIST} | tail -n 1)   # 取最后一行

if [[ -z $URL ]]; then
  echo "no url"
  exit 1
elif [[ $ENDLINE == "above"* ]]; then
  echo "no new url"   # 适应固定时间自动下载的,如果前面下过,就退出
  exit 1
fi

# 每次取一行,直到行的内容是 ENDLINE
until [ "${URL}" == "${ENDLINE}" ]
do

# echo ${URL}
dl ${URL}

LINE=$((${LINE}+1))   # 加1
URL=$(grepline ${URLLIST} ${LINE})   # 取下一行,如果是 ENDLINE,则退出循环

done

dl ${ENDLINE}   # 补上最后一行网址的下载

# 向网页记事本传送已完成的标志
echo -e "\nabove have done, but may skip" >> $URLLIST
curl -k --data-urlencode "text@${URLLIST}" $WEBLIST
# 再传回来时,最后一行是空行,不知原因

执行

bash -ex ~/videodl.sh

可以接受的链接文件格式,应该类似下面:(每行一个,不要有空行)

BV1Ee411u7hm
https://www.youtube.com/watch?v=gIbfYsQfNWs   # 不知道为什么,会嵌入YouTube,这样就不会了
BV1p34y1G79Q
BV1p34y1G79Q

定时自动执行

crontab -e

每 4 小时

0 */4 * * * /home/vfly2/bbdl.sh

原文链接: https://blog.vfly2.com/2023/10/download-web-page-videos/

版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 承飞之咎 (blog.vfly2.com)

保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰可重复的实用技能,欢迎使用 RSS 订阅,也欢迎留言指正。

可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。

没有 RSS 订阅器的话,也可以关注公众号:承飞之咎 了解最新内容。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇