diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py index 7de8c58711..46f6ba9873 100644 --- a/yt_dlp/extractor/vimeo.py +++ b/yt_dlp/extractor/vimeo.py @@ -28,7 +28,6 @@ from ..utils import ( qualities, smuggle_url, str_or_none, - traverse_obj, try_call, try_get, unified_timestamp, @@ -39,6 +38,7 @@ from ..utils import ( urlhandle_detect_ext, urljoin, ) +from ..utils.traversal import require, traverse_obj class VimeoBaseInfoExtractor(InfoExtractor): @@ -1540,7 +1540,7 @@ class VimeoUserIE(VimeoChannelIE): # XXX: Do not subclass from concrete IE class VimeoAlbumIE(VimeoBaseInfoExtractor): IE_NAME = 'vimeo:album' - _VALID_URL = r'https://vimeo\.com/(?:album|showcase)/(?P\d+)(?:$|[?#]|(?P/embed))' + _VALID_URL = r'https://vimeo\.com/(?:album|showcase)/(?P[^/?#]+)(?:$|[?#]|(?P/embed))' _TITLE_RE = r'