youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 7fcea295c59f3321c5a70cb8171e6d5de1f378e4
parent cc799437ea828af8ca74cd5ba7dcfaf763f6e960
Author: Sergey M․ <dstftw@gmail.com>
Date:   Wed, 10 Feb 2016 20:46:38 +0600

[pbs] Switch to portal player by default (Closes #8491)

Diffstat:
Myoutube_dl/extractor/pbs.py | 18+++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py @@ -8,6 +8,7 @@ from ..utils import ( ExtractorError, determine_ext, int_or_none, + js_to_json, strip_jsonp, unified_strdate, US_RATINGS, @@ -432,9 +433,20 @@ class PBSIE(InfoExtractor): for vid_id in video_id] return self.playlist_result(entries, display_id) - info = self._download_json( - 'http://player.pbs.org/videoInfo/%s?format=json&type=partner' % video_id, - display_id) + player = self._download_webpage( + 'http://player.pbs.org/portalplayer/%s' % video_id, display_id) + + info = self._parse_json( + self._search_regex( + r'(?s)PBS\.videoData\s*=\s*({.+?});\n', + player, 'video data', default='{}'), + display_id, transform_source=js_to_json, fatal=False) + + # Fallback to old videoInfo API + if not info: + info = self._download_json( + 'http://player.pbs.org/videoInfo/%s?format=json&type=partner' % video_id, + display_id, 'Downloading video info JSON') formats = [] for encoding_name in ('recommended_encoding', 'alternate_encoding'):