From f5421166d2557621c955bd51e52ed3b623dd5105 Mon Sep 17 00:00:00 2001 From: dyphire <61936050+dyphire@users.noreply.github.com> Date: Mon, 1 Jun 2026 22:38:46 +0800 Subject: [PATCH] faet: update Youku API handling for video URLs Added a new video URL format and modified video ID extraction logic to handle both URL formats. --- routes/api/youku.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/routes/api/youku.mjs b/routes/api/youku.mjs index cca1fd2..4beb563 100644 --- a/routes/api/youku.mjs +++ b/routes/api/youku.mjs @@ -12,7 +12,8 @@ export default class YoukuSource extends BaseSource { this.example_urls = [ 'https://v.youku.com/v_show/id_XNTE5NjUxNjUyOA==.html', 'https://v.youku.com/v_show/id_XMTc1OTE4ODI5Ng==.html', - 'https://v.youku.com/v_show/id_XNTkxNDY2Nzg2MA==.html' + 'https://v.youku.com/v_show/id_XNTkxNDY2Nzg2MA==.html', + 'https://v.youku.com/video?vid=XMjQ4NDcxODQwOA==' ]; } @@ -57,7 +58,12 @@ export default class YoukuSource extends BaseSource { async get_vinfos_by_video_id(url) { const q = urlmodule.parse(url, true); const path = q.pathname.split('/'); - const video_id = path.slice(-1)[0].split('.')[0].slice(3); + let video_id; + if (q.query.vid) { + video_id = q.query.vid; + } else { + video_id = path.slice(-1)[0].split('.')[0].slice(3); + } if (video_id) { // "?client_id=53e6cc67237fc59a&package=com.huawei.hwvplayer.youku&ext=show&video_id={}" const api_url = 'https://openapi.youku.com/v2/videos/show.json';