From 283a0b5bc511f3b350eead4488158f50c20ec526 Mon Sep 17 00:00:00 2001 From: Yakabuff Date: Sat, 4 Mar 2023 08:34:27 -0500 Subject: [PATCH] [xvideos:quickies] Add extractor (#6414) Authored by: Yakabuff Closes #6356 --- yt_dlp/extractor/_extractors.py | 5 ++++- yt_dlp/extractor/xvideos.py | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/yt_dlp/extractor/_extractors.py b/yt_dlp/extractor/_extractors.py index a7bcafb4c..0731845ba 100644 --- a/yt_dlp/extractor/_extractors.py +++ b/yt_dlp/extractor/_extractors.py @@ -2315,7 +2315,10 @@ from .xstream import XstreamIE from .xtube import XTubeUserIE, XTubeIE from .xuite import XuiteIE -from .xvideos import XVideosIE +from .xvideos import ( + XVideosIE, + XVideosQuickiesIE +) from .xxxymovies import XXXYMoviesIE from .yahoo import ( YahooIE, diff --git a/yt_dlp/extractor/xvideos.py b/yt_dlp/extractor/xvideos.py index 5c505c850..5df071503 100644 --- a/yt_dlp/extractor/xvideos.py +++ b/yt_dlp/extractor/xvideos.py @@ -157,3 +157,24 @@ def _real_extract(self, url): 'thumbnails': thumbnails, 'age_limit': 18, } + + +class XVideosQuickiesIE(InfoExtractor): + IE_NAME = 'xvideos:quickies' + _VALID_URL = r'https?://(?P(?:[^/]+\.)?xvideos2?\.com)/amateur-channels/[^#]+#quickies/a/(?P\d+)' + _TESTS = [{ + 'url': 'https://www.xvideos.com/amateur-channels/wifeluna#quickies/a/47258683', + 'md5': '16e322a93282667f1963915568f782c1', + 'info_dict': { + 'id': '47258683', + 'ext': 'mp4', + 'title': 'Verification video', + 'age_limit': 18, + 'duration': 16, + 'thumbnail': r're:^https://cdn.*-pic.xvideos-cdn.com/.+\.jpg', + } + }] + + def _real_extract(self, url): + domain, id_ = self._match_valid_url(url).group('domain', 'id') + return self.url_result(f'https://{domain}/video{id_}/_', XVideosIE, id_)