1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-02 01:02:48 +01:00

[pbs] fix extraction for geo restricted videos(#7095)

This commit is contained in:
Remita Amine 2016-12-19 16:27:12 +01:00
parent 954529c10f
commit 5aaf012a4e

View File

@ -350,6 +350,15 @@ class PBSIE(InfoExtractor):
410: 'This video has expired and is no longer available for online streaming.', 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): def _extract_webpage(self, url):
mobj = re.match(self._VALID_URL, url) mobj = re.match(self._VALID_URL, url)
@ -476,7 +485,8 @@ def extract_redirect_urls(info):
redirect_info = self._download_json( redirect_info = self._download_json(
'%s?format=json' % redirect['url'], display_id, '%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': if redirect_info['status'] == 'error':
raise ExtractorError( raise ExtractorError(