diff options
| author | Remita Amine <remitamine@gmail.com> | 2016-12-19 16:27:12 +0100 | 
|---|---|---|
| committer | Remita Amine <remitamine@gmail.com> | 2016-12-19 16:27:12 +0100 | 
| commit | 5aaf012a4eacc50bb5b131f6c26027e391fc379a (patch) | |
| tree | 55aec4343d4ab4768b5e16e23c2b4079161a1203 | |
| parent | 954529c10fd847d58374dda2a3661f0df2c1d5f6 (diff) | |
[pbs] fix extraction for geo restricted videos(#7095)
| -rw-r--r-- | youtube_dl/extractor/pbs.py | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py index b490ef74c..f1c0cd068 100644 --- 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( | 
