1
0
Fork 0

[extractor/youtube] Fix initial player response extraction

Authored by: pukkandan, coletdjnz
This commit is contained in:
coletdjnz 2022-05-29 19:54:22 +12:00
commit ee27297f82
No known key found for this signature in database
GPG key ID: 91984263BB39894A
2 changed files with 54 additions and 20 deletions

View file

@ -1033,11 +1033,19 @@ class InfoExtractor:
expected_status=expected_status)
return res if res is False else res[0]
def _parse_json(self, json_string, video_id, transform_source=None, fatal=True):
def _parse_json(self, json_string, video_id, transform_source=None, fatal=True, lenient=False):
if transform_source:
json_string = transform_source(json_string)
try:
return json.loads(json_string, strict=False)
try:
return json.loads(json_string, strict=False)
except json.JSONDecodeError as e:
if not lenient:
raise
try:
return json.loads(json_string[:e.pos], strict=False)
except ValueError:
raise e
except ValueError as ve:
errmsg = '%s: Failed to parse JSON ' % video_id
if fatal: