共享一个我自用的哔哩哔哩下载脚本

需要配合BBDown使用

@echo off
chcp 65001 > nul
setlocal

start Video

set bbdown_command=BBDown --config-file BBDown.config.win --dfn-priority "1080P 高清"

:loop
cls
echo Enter a URL or type 'exit' to quit:
set /p input=

if "%input%"=="exit" (
    echo Exiting...
    goto :eof
)

:: Check if input starts with 'ttp' and prepend 'h'
set input_prefix=%input:~0,3%
if "%input_prefix%"=="ttp" set input=h%input%

echo "%input%" | findstr /r "https\?://[^ ]*" > nul
if %errorlevel%==0 (
    echo Running command with URL: "%input%"
    echo command is %bbdown_command% "%input%"
    %bbdown_command% "%input%"
    echo Command has finished executing. Press any key to continue...
    pause > nul
) else (
    echo Invalid URL format. Please enter a valid URL.
)

goto loop

2 Likes

这…什么意思?干嘛用的?怎么用?

另存为cmd后,直接输入哔哩哔哩的视频地址,回车,自动下载到脚本目录下的Video目录,兼容continue时候粘入链接,导致http缺少开头的h的情况。
基本可以一直粘贴下载视频了。

如果有cookies,可以放到BBDown.config.win文件中。

还以为是油猴脚本呢

我自己搞的一个利用lux下载b站的quicker动作,优点是自动关联浏览器获取当前登录账户的cookie,不需要手动获取cookie了

不用quicker哈,你这个是调用的什么软件下载呢?

lux 这个命令行下载工具

quicker 有获取cookie的功能模块 用起来比较简单 你想替换成ytd也行

这个动作真要扩展的话 优爱腾 应该都可以支持获取cookie自动下载最高品质流媒体文件。

lux 相比于 ytd这类 优势在于国内视频站匹配比较好?

现在抖音还没有好用的下载工具,这个能否加上对抖音的支持?


我看了看 lux的支持列表中包含抖音,但问题在于 我手工输入命令行是下载失败的 :rofl:

这事儿恐怕得让原开发者出马了,提交反馈吧

我做了个更新,没做正则提取也把所有cookie添加到命令行去执行,下不下的下来看开发者适配了。

目前测试过爱奇艺 腾讯 能正常下载 优酷和抖音是没办法下载

1 Like

随便试了一下没啥问题啊,我这lux还是上个月下载的。

优酷确实不行,不过可以试试 yt-dlp 优酷没啥问题

目前看起来应该是cookie的问题 因为我没怎么用抖音,没登录 验证登录的cookie是哪个字段,我添加下自动获取cookie就应该没问题了


另外其他网站cookie具体字段是什么有知道的可以提供一下 :rofl:

我都是全保存啊,我认为检测出哪个必须没必要啊,毕竟只要变动一下你就得更新

:rofl:我是用quicker去抓取cookie 所以每次执行就会更新cookie 倒不存在获取的问题,直接
-c {已获取的cookie文本} 似乎会出问题,至少b站是这样,所以我b站仅使用了SESSDATA字段

问题在于我没有抖音号 不知道是不是我没登陆的问题
image

新版本脚本,可以自动下载up的所有视频:

@echo off
chcp 65001 > nul
setlocal

start Video

set bbdown_command=BBDown --config-file BBDown.config.win --dfn-priority "1080P 高清"

:loop
cls
echo Enter a URL, type 'r' to run the latest TXT script, or type 'exit' to quit:
set /p input=

if /I "%input%"=="exit" (
    echo Exiting...
    goto :eof
)

if /I "%input%"=="r" (
    echo Finding and processing the newest TXT file...
    call :findAndProcessTxt
    goto loop
)

:: Check if input starts with 'ttp' and prepend 'h'
set input_prefix=%input:~0,3%
if "%input_prefix%"=="ttp" set input=h%input%

echo "%input%" | findstr /r "https\?://[^ ]*" > nul
if %errorlevel%==0 (
    echo Running command with URL: "%input%"
    echo command is %bbdown_command% "%input%"
    %bbdown_command% "%input%"
    echo Command has finished executing. Press any key to continue...
    pause > nul
) else (
    echo Invalid URL format. Please enter a valid URL.
)

goto loop

:findAndProcessTxt
setlocal enabledelayedexpansion

REM 查找当前目录下最新的txt文件
set "newestFile="
for /F "delims=" %%i in ('dir /b /a-d /o-d /t:w *.txt') do (
    set "newestFile=%%i"
    goto breakLoop
)
:breakLoop

REM 检查是否找到了文件
if "!newestFile!"=="" (
    echo No TXT files found.
    goto endFindAndProcess
)

echo Found newest TXT file: !newestFile!

REM 使用找到的最新txt文件运行原始命令
For /F "delims=" %%a in (!newestFile!) Do (
	%bbdown_command% "%%a"
)

:endFindAndProcess
endlocal
goto :eof