]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/doodstream.py
[extractor/doodstream] Support more domains (#4493)
[yt-dlp.git] / yt_dlp / extractor / doodstream.py
index f1001c778cac53c477c88ac8d9462f6728e8011b..0b4e5ccbd5ee30bd0de0cb515c5da1a9a910d3ec 100644 (file)
@@ -6,7 +6,7 @@
 
 
 class DoodStreamIE(InfoExtractor):
-    _VALID_URL = r'https?://(?:www\.)?dood\.(?:to|watch)/[ed]/(?P<id>[a-z0-9]+)'
+    _VALID_URL = r'https?://(?:www\.)?dood\.(?:to|watch|so|pm)/[ed]/(?P<id>[a-z0-9]+)'
     _TESTS = [{
         'url': 'http://dood.to/e/5s1wmbdacezb',
         'md5': '4568b83b31e13242b3f1ff96c55f0595',
@@ -37,6 +37,9 @@ class DoodStreamIE(InfoExtractor):
             'description': 'Stacy Cruz Cute ALLWAYSWELL | DoodStream.com',
             'thumbnail': 'https://img.doodcdn.com/snaps/8edqd5nppkac3x8u.jpg',
         }
+    }, {
+        'url': 'https://dood.so/d/jzrxn12t2s7n',
+        'only_matching': True
     }]
 
     def _real_extract(self, url):
@@ -44,7 +47,8 @@ def _real_extract(self, url):
         url = f'https://dood.to/e/{video_id}'
         webpage = self._download_webpage(url, video_id)
 
-        title = self._html_search_meta(['og:title', 'twitter:title'], webpage, default=None)
+        title = self._html_search_meta(
+            ('og:title', 'twitter:title'), webpage, default=None) or self._html_extract_title(webpage)
         thumb = self._html_search_meta(['og:image', 'twitter:image'], webpage, default=None)
         token = self._html_search_regex(r'[?&]token=([a-z0-9]+)[&\']', webpage, 'token')
         description = self._html_search_meta(