]> jfr.im git - yt-dlp.git/commitdiff
[extractor] Add `_search_nextjs_data` (#1386)
authorLauren Liberda <redacted>
Sat, 23 Oct 2021 02:02:23 +0000 (04:02 +0200)
committerpukkandan <redacted>
Wed, 10 Nov 2021 00:41:05 +0000 (06:11 +0530)
Authored by: selfisekai

yt_dlp/extractor/common.py

index 7500402faec8fa9c4f38c7f7a75236fc7056d437..5c6e599017397d5ce2df6ae164026329340ab156 100644 (file)
@@ -1496,6 +1496,13 @@ def extract_video_object(e):
                     break
         return dict((k, v) for k, v in info.items() if v is not None)
 
+    def _search_nextjs_data(self, webpage, video_id, **kw):
+        return self._parse_json(
+            self._search_regex(
+                r'(?s)<script[^>]+id=[\'"]__NEXT_DATA__[\'"][^>]*>([^<]+)</script>',
+                webpage, 'next.js data', **kw),
+            video_id, **kw)
+
     @staticmethod
     def _hidden_inputs(html):
         html = re.sub(r'<!--(?:(?!<!--).)*-->', '', html)