下载视频 对于有仓鼠收集症的人是经常的操作,如果你想保存网站上的优秀视频,比如 Bilibili、YouTube、Instagram、Twitter 等,下面介绍的方法一定有适合你需求的。
先简单对比一下本文涉及的各种方法:
- 网页下载服务。就是专门下某种网站视频的网站,由于是在线服务,使用方便,无须任何前置准备,但是速度可能较慢;一般一次只能下一个链接,不适合大批量下载。
- GUI 软件。着重通用下载器 IDM,它能嗅探网页上的视频,然后点一下就能下载。需要安装软件,另外也不适合大批量下载,不能自动化。
- 命令行工具。比如 yt-dlp,安装和配置麻烦一点,但是一旦设置好,能满足自动化大批量下载,在零碎任务下不如直接用 IDM 这种。
如果愿意折腾,推荐对常看的网站配置好命令行工具,其他网站使用 IDM,临时下载用网页下载服务。
浏览器扩展
TwitterMediaHarvest – 一键下载 X 的媒体文件的浏览器插件: EltonChou/TwitterMediaHarvest: Download twitter media with only one-click. (github.com) ,好用。
下载视频 服务
以下网站,AhFei 都没用过,只是过去随手收集。
YouTube
- YouTube Downloader – Download YouTube videos in MP3, MP4, 3GP | Y2mate.com
- Youtube Download Online (addyoutube.com)
下载字幕: Download subtitles from Youtube, Viki, Viu, Vlive and more! – DownSub
用过这个,不错:Twitter video downloader – Download twitter videos to mp4 online (twitterdownloader.co)
- Twitter Video Downloader (xxtwitter.com)
- Twitter video download by SnapTwitter – Download Twitter video, gif to mp4 for Free
- twitter videos downloader online free converter – zh-CN7700 (twitterfk.com)
- Instagram Downloader – Download Instagram Video, Reels, Story, Photo, IGTV online – Snapinsta
- Download Instagram Videos, Stories, Reels, Highlights, Photos (sssinstagram.com)
- Download Instagram Video, Photo, Reels, Story, IGTV | SaveInsta
Tiktok
- Tikmate – Download video tiktok, Tiktok downloader no Watermark
- 没有水印的免费 Tiktok 视频下载器 | Qload
- Tiktok Downloader: Tiktok Video Download no Watermark – Save Tiktok Video – SaveTik
- TikTok Video/Photo Download – TikTok video/picture downloader – Download TikTok HD video without watermark – TikTok video/photo/story/wallpaper/note/mp4/mp3/sound/audio downloader – Download Panda – DLPanda
- Video downloader for Facebook – Download Facebook Videos Online (getfvid.com)
- 在线Facebook视频下载器-下载Facebook视频 (getfb.net)
- Facebook Video Downloader – Facebook Video Download Full HD 1080p – Snapsave
- FDownloader – Download Video Facebook HD 1080p, 4k for free
多网站
- Free Online Video Downloader – SaveFrom.net
- 在线解析视频 – 免费解析并下载视频,支持YouTube, Instagram, Facebook, Twitter 等 (superparse.com)
- 在线视频下载 – zh-CN7700 – VideoFk
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…
DownKyi
过去用过的一款 Windows 系统有用户界面的 B 站下载客户端: leiurayer/downkyi: 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 (github.com)
可以登录账号从而下载收藏夹,但是视频多的话,很容易闪退。
命令行工具
使用系统以 Linux 为准,因为希望用 Linux 服务器实现自动化。对于 Windows 和 Mac,也都有相应软件,可参考下列文章编写自己的脚本。
BBDown 下载 B 站视频
详情查看: BBDown 下载 B 站视频 – 快捷的命令行工具 – 技焉洲 (yanh.tech)
yt-dlp 下载 YouTube 视频
这个支持超多网站,常用的都支持,不过我目前只是用来下载油管视频。
详情查看:yt-dlp 下载 YouTube 视频 – 快捷的命令行工具 – 技焉洲 (yanh.tech)
如果要在 Windows 上使用,可以参考文章: 稳定实用的 Youtube 视频下载器 – 0x5E (xlog.app)
有一个基于它的 Web-UI 方便使用: alexta69/metube: Self-hosted YouTube downloader (web UI for youtube-dl / yt-dlp) (github.com)
其他工具
下面的只是 AhFei 记录下来的,没有实际使用过,感兴趣的读者可以自行了解。
多网站合一下载
如果你看过 BBDown 和 yt-dlp 的使用说明,会发现它们的批量下载脚本不能说十分相似,只能说一模一样。
所以,不如合二为一,用一个脚本,根据不同链接,自动调用不同工具下载。
先根据上面文章安装和配置好两个工具,yt-dlp 和 BBDown ,BBDown 还需要登录。
然后创建脚本文件
filename="videodl.sh"
touch $filename && chmod a+x $filename && vim $filename
编辑脚本文件
vim ~/videodl.sh
URLLIST 的文件里面放要下载的网址,如果想通过网页添加要下载的网址,添加 WEBLIST 变量(不了解可以不使用,文末有介绍)。
还有修改 YTDIR 和 BBDIR,分别是油管和 B 站的下载目录。如果需要,也可以为 yt-dlp 添加代理 YTPROXY。
#!/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
# 存有 视频网址 的文件路径
URLLIST="/tmp/urllist"
# WEBLIST="https://webnote.vfly2.com/urllist"
# 下载到哪个目录
YTDIR="/home/ahfei/public/web_download/youtube"
BBDIR="/home/ahfei/public/web_download/bilibili"
# yt-dlp 是否添加代理
YTPROXY="--proxy socks5://127.0.0.1:10808/"
# ------------------下面的无须配置--------------------
# 如果配置了 WEBLIST,则下载网页上的视频链接,否则,直接使用 URLLIST 中的
if [[ $WEBLIST ]]; then curl -k $WEBLIST > $URLLIST; fi
# 取文件指定的第几行的内容,变量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 ${YTPROXY} --paths ${YTDIR} ${DLURL}
elif [[ ${DLURL} == "https://www.twitter"* ]]; then
/usr/local/bin/yt-dlp ${YTPROXY} --paths ${YTDIR} ${DLURL}
else
/usr/local/bin/BBDown --multi-thread false --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
# 下载视频
dl ${URL}
LINE=$((${LINE}+1)) # 加1
URL=$(grepline ${URLLIST} ${LINE}) # 取下一行,如果是 ENDLINE,则退出循环
done
dl ${ENDLINE} # 补上最后一行网址的下载
# 向网页记事本传送已完成的标志
echo -e "\nabove have done, but may skip" >> $URLLIST
if [[ $WEBLIST ]]; then curl -k --data-urlencode "text@${URLLIST}" $WEBLIST; fi
执行
bash -e ~/videodl.sh
# bash -ex ~/videodl.sh # 用来 debug 的,仅记录
可以接受的链接文件格式,应该类似下面:(每行一个,不要有空行)
BV1Ee411u7hm
https://www.youtube.com/watch?v=gIbfYsQfNWs # 不知道为什么,博客会嵌入YouTube,加入这行就不会了
BV1p34y1G79Q
BV1p34y1G79Q
定时自动执行
crontab -e
每 4 小时
0 */4 * * * /home/vfly2/bbdl.sh
结合网络记事本
命令行工具的不足在于使用上有一定门槛,以及不方便日常的零碎化使用。也就是如果每次只下载一两个视频,还需要 SSH 编辑文件并执行脚本,有些繁琐。
本博客之前有一篇介绍网络记事本的文章:分享我使用两年的极简 网页记事本 – 技焉洲 (yanh.tech)。可以利用网络记事本随时保存链接,在脚本中利用 curl 抓取内容到本地文件,然后下载。
不过这样实时性没那么高,AhFei 是将下载目录改为 Emby 的媒体库,通过 Emby 观看。这样高质量视频直接就保存了,看完后删去不需要的,不用担心视频被和谐,也不需要单独抽空下载收藏的视频。
因此除了 BBLIST,还增加了一个变量 WEBLIST ,它的值是网络记事本的网址,这里使用 AhFei 搭建的演示: https://webnote.vfly2.com/urllist ,将链接复制到这上面,一行一个。
各位读者可以直接使用这个公开实例,或者自行搭建:分享我使用两年的极简 网页记事本 – 技焉洲 (yanh.tech)
原文链接: https://yanh.tech/2023/10/download-web-page-videos/
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅,如果能留言互动就更好了。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。
This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!
Thank you, your sweet words encourage me a lot.
I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!
I truly appreciate your technique of writing a blog. I added it to my bookmark site list and will
I’ll be following this story closely now. Thanks for the heads-up
naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.