mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-15 12:53:18 +00:00
[pbs] Add support for flp frontlines (Closes #7369)
This commit is contained in:
parent
0fa6b17dcc
commit
686f98816e
|
@ -8,6 +8,7 @@
|
||||||
ExtractorError,
|
ExtractorError,
|
||||||
determine_ext,
|
determine_ext,
|
||||||
int_or_none,
|
int_or_none,
|
||||||
|
strip_jsonp,
|
||||||
unified_strdate,
|
unified_strdate,
|
||||||
US_RATINGS,
|
US_RATINGS,
|
||||||
)
|
)
|
||||||
|
@ -191,6 +192,23 @@ def _extract_webpage(self, url):
|
||||||
if media_id:
|
if media_id:
|
||||||
return media_id, presumptive_id, upload_date
|
return media_id, presumptive_id, upload_date
|
||||||
|
|
||||||
|
# Fronline video embedded via flp
|
||||||
|
video_id = self._search_regex(
|
||||||
|
r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid')
|
||||||
|
if video_id:
|
||||||
|
# pkg_id calculation is reverse engineered from
|
||||||
|
# http://www.pbs.org/wgbh/pages/frontline/js/flp2012.js
|
||||||
|
prg_id = self._search_regex(
|
||||||
|
r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid')[7:]
|
||||||
|
if 'q' in prg_id:
|
||||||
|
prg_id = prg_id.split('q')[1]
|
||||||
|
prg_id = int(prg_id, 16)
|
||||||
|
getdir = self._download_json(
|
||||||
|
'http://www.pbs.org/wgbh/pages/frontline/.json/getdir/getdir%d.json' % prg_id,
|
||||||
|
presumptive_id, 'Downloading getdir JSON',
|
||||||
|
transform_source=strip_jsonp)
|
||||||
|
return getdir['mid'], presumptive_id, upload_date
|
||||||
|
|
||||||
for iframe in re.findall(r'(?s)<iframe(.+?)></iframe>', webpage):
|
for iframe in re.findall(r'(?s)<iframe(.+?)></iframe>', webpage):
|
||||||
url = self._search_regex(
|
url = self._search_regex(
|
||||||
r'src=(["\'])(?P<url>.+?partnerplayer.+?)\1', iframe,
|
r'src=(["\'])(?P<url>.+?partnerplayer.+?)\1', iframe,
|
||||||
|
|
Loading…
Reference in a new issue