From 729dfd98e288ac87db558989a0340f72e1a6a749 Mon Sep 17 00:00:00 2001 From: krixyox <76106277+krisyox@users.noreply.github.com> Date: Sun, 18 Oct 2026 02:31:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(bilibili):=20=E6=94=AF=E6=8C=81=20skip=5Fdo?= =?UTF-8?q?wnload=20=E4=BB=A5=E8=B7=B3=E8=BF=87=E6=9C=89=E5=AD=97=E5=B9=95?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E9=9F=B3=E9=A2=91=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/downloaders/bilibili_downloader.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/app/downloaders/bilibili_downloader.py b/backend/app/downloaders/bilibili_downloader.py index 2f686ba65..91c94e3db 100644 --- a/backend/app/downloaders/bilibili_downloader.py +++ b/backend/app/downloaders/bilibili_downloader.py @@ -52,7 +52,8 @@ def download( video_url: str, output_dir: Union[str, None] = None, quality: DownloadQuality = "fast", - need_video:Optional[bool]=False + need_video:Optional[bool]=False, + skip_download: bool = False ) -> AudioDownloadResult: if output_dir is None: output_dir = get_data_dir() @@ -81,12 +82,13 @@ def download( ydl_opts['cookiefile'] = self._cookiefile with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(video_url, download=True) + # skip_download=True 时只提取元信息(标题/时长/封面),不下载音视频文件 + info = ydl.extract_info(video_url, download=not skip_download) video_id = info.get("id") title = info.get("title") duration = info.get("duration", 0) cover_url = info.get("thumbnail") - audio_path = os.path.join(output_dir, f"{video_id}.mp3") + audio_path = os.path.join(output_dir, f"{video_id}.mp3") if not skip_download else None return AudioDownloadResult( file_path=audio_path,