1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-11-16 14:35:15 +00:00

[extractor] Add _search_nuxt_data (#1921)

Authored by: nao20010128nao
This commit is contained in:
The Hatsune Daishi
2021-12-08 01:38:50 +09:00
committed by GitHub
parent 93864403ea
commit 66f4c04e50
2 changed files with 19 additions and 12 deletions

View File

@@ -3,7 +3,6 @@ from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
js_to_json,
try_get,
unified_timestamp
)
@@ -14,17 +13,7 @@ class SovietsClosetBaseIE(InfoExtractor):
def parse_nuxt_jsonp(self, nuxt_jsonp_url, video_id, name):
nuxt_jsonp = self._download_webpage(nuxt_jsonp_url, video_id, note=f'Downloading {name} __NUXT_JSONP__')
js, arg_keys, arg_vals = self._search_regex(
r'__NUXT_JSONP__\(.*?\(function\((?P<arg_keys>.*?)\)\{return\s(?P<js>\{.*?\})\}\((?P<arg_vals>.*?)\)',
nuxt_jsonp, '__NUXT_JSONP__', group=['js', 'arg_keys', 'arg_vals'])
args = dict(zip(arg_keys.split(','), arg_vals.split(',')))
for key, val in args.items():
if val in ('undefined', 'void 0'):
args[key] = 'null'
return self._parse_json(js_to_json(js, args), video_id)['data'][0]
return self._search_nuxt_data(nuxt_jsonp, video_id, '__NUXT_JSONP__')
def video_meta(self, video_id, game_name, category_name, episode_number, stream_date):
title = game_name