commit 5aaf012a4eacc50bb5b131f6c26027e391fc379a
parent 954529c10fd847d58374dda2a3661f0df2c1d5f6
Author: Remita Amine <remitamine@gmail.com>
Date: Mon, 19 Dec 2016 16:27:12 +0100
[pbs] fix extraction for geo restricted videos(#7095)
Diffstat:
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py
@@ -350,6 +350,15 @@ class PBSIE(InfoExtractor):
410: 'This video has expired and is no longer available for online streaming.',
}
+ def _real_initialize(self):
+ cookie = (self._download_json(
+ 'http://localization.services.pbs.org/localize/auto/cookie/',
+ None, headers=self.geo_verification_headers(), fatal=False) or {}).get('cookie')
+ if cookie:
+ station = self._search_regex(r'#?s=\["([^"]+)"', cookie, 'station')
+ if station:
+ self._set_cookie('.pbs.org', 'pbsol.station', station)
+
def _extract_webpage(self, url):
mobj = re.match(self._VALID_URL, url)
@@ -476,7 +485,8 @@ class PBSIE(InfoExtractor):
redirect_info = self._download_json(
'%s?format=json' % redirect['url'], display_id,
- 'Downloading %s video url info' % (redirect_id or num))
+ 'Downloading %s video url info' % (redirect_id or num),
+ headers=self.geo_verification_headers())
if redirect_info['status'] == 'error':
raise ExtractorError(