[cda] Improve extraction (closes #28709, closes #28937)
authorSergey M․ <dstftw@gmail.com>
Sat, 1 May 2021 15:53:30 +0000 (22:53 +0700)
committerSergey M․ <dstftw@gmail.com>
Sat, 1 May 2021 15:53:30 +0000 (22:53 +0700)
youtube_dl/extractor/cda.py

index 1b4362144a180da10ba52c06c856a498802f7527..e1b391937169208331233bbda6a75d9427a4228f 100644 (file)
@@ -133,6 +133,8 @@ class CDAIE(InfoExtractor):
             'age_limit': 18 if need_confirm_age else 0,
         }
 
+        info = self._search_json_ld(webpage, video_id, default={})
+
         # Source: https://www.cda.pl/js/player.js?t=1606154898
         def decrypt_file(a):
             for p in ('_XDDD', '_CDA', '_ADC', '_CXD', '_QWE', '_Q5', '_IKSDE'):
@@ -197,7 +199,7 @@ class CDAIE(InfoExtractor):
                 handler = self._download_webpage
 
             webpage = handler(
-                self._BASE_URL + href, video_id,
+                urljoin(self._BASE_URL, href), video_id,
                 'Downloading %s version information' % resolution, fatal=False)
             if not webpage:
                 # Manually report warning because empty page is returned when
@@ -209,6 +211,4 @@ class CDAIE(InfoExtractor):
 
         self._sort_formats(formats)
 
-        info = self._search_json_ld(webpage, video_id, default={})
-
         return merge_dicts(info_dict, info)