]> jfr.im git - yt-dlp.git/commitdiff
[extractor/youtube] Improve nsig function name extraction
authorpukkandan <redacted>
Thu, 22 Jun 2023 07:53:31 +0000 (13:23 +0530)
committerpukkandan <redacted>
Thu, 22 Jun 2023 07:57:18 +0000 (13:27 +0530)
test/test_youtube_signature.py
yt_dlp/extractor/youtube.py

index 811f70e6893a1bb434a0ab04c12056999d35f56b..c5592845b3d96eeea1f9c2f70f12c2ce13545063 100644 (file)
         'https://www.youtube.com/s/player/8c7583ff/player_ias.vflset/en_US/base.js',
         '1wWCVpRR96eAmMI87L', 'KSkWAVv1ZQxC3A',
     ),
         'https://www.youtube.com/s/player/8c7583ff/player_ias.vflset/en_US/base.js',
         '1wWCVpRR96eAmMI87L', 'KSkWAVv1ZQxC3A',
     ),
+    (
+        'https://www.youtube.com/s/player/b7910ca8/player_ias.vflset/en_US/base.js',
+        '_hXMCwMt9qE310D', 'LoZMgkkofRMCZQ',
+    ),
 ]
 
 
 ]
 
 
index ef9f1f11c2f518616aa162a72c3c0c6f6c568c53..f1c8df14102140bd6b15ab60643bfcd38db56438 100644 (file)
@@ -3140,7 +3140,7 @@ def _extract_n_function_name(self, jscode):
             return funcname
 
         return json.loads(js_to_json(self._search_regex(
             return funcname
 
         return json.loads(js_to_json(self._search_regex(
-            rf'var {re.escape(funcname)}\s*=\s*(\[.+?\]);', jscode,
+            rf'var {re.escape(funcname)}\s*=\s*(\[.+?\])[,;]', jscode,
             f'Initial JS player n function list ({funcname}.{idx})')))[int(idx)]
 
     def _extract_n_function_code(self, video_id, player_url):
             f'Initial JS player n function list ({funcname}.{idx})')))[int(idx)]
 
     def _extract_n_function_code(self, video_id, player_url):