mirror of
https://github.com/l1ving/youtube-dl
synced 2024-12-30 19:42:52 +08:00
[jwplatform] Use js_to_json to detect more JWPlayers
This commit is contained in:
parent
c51a7f0b2f
commit
e14c82bd6b
@ -1,3 +1,9 @@
|
||||
version <unreleased>
|
||||
|
||||
Extractors
|
||||
* [jwplatform] Improve JWPlayer detection
|
||||
|
||||
|
||||
version 2016.09.15
|
||||
|
||||
Core
|
||||
|
@ -9,6 +9,7 @@ from ..utils import (
|
||||
determine_ext,
|
||||
float_or_none,
|
||||
int_or_none,
|
||||
js_to_json,
|
||||
mimetype2ext,
|
||||
)
|
||||
|
||||
@ -19,14 +20,15 @@ class JWPlatformBaseIE(InfoExtractor):
|
||||
# TODO: Merge this with JWPlayer-related codes in generic.py
|
||||
|
||||
mobj = re.search(
|
||||
'jwplayer\((?P<quote>[\'"])[^\'" ]+(?P=quote)\)\.setup\((?P<options>[^)]+)\)',
|
||||
r'jwplayer\((?P<quote>[\'"])[^\'" ]+(?P=quote)\)\.setup\s*\((?P<options>[^)]+)\)',
|
||||
webpage)
|
||||
if mobj:
|
||||
return mobj.group('options')
|
||||
|
||||
def _extract_jwplayer_data(self, webpage, video_id, *args, **kwargs):
|
||||
jwplayer_data = self._parse_json(
|
||||
self._find_jwplayer_data(webpage), video_id)
|
||||
self._find_jwplayer_data(webpage), video_id,
|
||||
transform_source=js_to_json)
|
||||
return self._parse_jwplayer_data(
|
||||
jwplayer_data, video_id, *args, **kwargs)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user