diff options
Diffstat (limited to 'youtube_dl/extractor')
| -rw-r--r-- | youtube_dl/extractor/espn.py | 31 | ||||
| -rw-r--r-- | youtube_dl/extractor/extractors.py | 1 | 
2 files changed, 32 insertions, 0 deletions
diff --git a/youtube_dl/extractor/espn.py b/youtube_dl/extractor/espn.py index 0e135b8bc..127c69b2e 100644 --- a/youtube_dl/extractor/espn.py +++ b/youtube_dl/extractor/espn.py @@ -205,3 +205,34 @@ class ESPNArticleIE(InfoExtractor):          return self.url_result(              'http://espn.go.com/video/clip?id=%s' % video_id, ESPNIE.ie_key()) + + +class FiveThirtyEightIE(InfoExtractor): +    _VALID_URL = r'https?://(?:www\.)?fivethirtyeight\.com/features/(?P<id>[^/?#]+)' +    _TEST = { +        'url': 'http://fivethirtyeight.com/features/how-the-6-8-raiders-can-still-make-the-playoffs/', +        'info_dict': { +            'id': '21846851', +            'ext': 'mp4', +            'title': 'FiveThirtyEight: The Raiders can still make the playoffs', +            'description': 'Neil Paine breaks down the simplest scenario that will put the Raiders into the playoffs at 8-8.', +            'timestamp': 1513960621, +            'upload_date': '20171222', +        }, +        'params': { +            'skip_download': True, +        }, +        'expected_warnings': ['Unable to download f4m manifest'], +    } + +    def _real_extract(self, url): +        video_id = self._match_id(url) + +        webpage = self._download_webpage(url, video_id) + +        video_id = self._search_regex( +            r'data-video-id=["\'](?P<id>\d+)', +            webpage, 'video id', group='id') + +        return self.url_result( +            'http://espn.go.com/video/clip?id=%s' % video_id, ESPNIE.ie_key()) diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 3269ed743..91bd3287c 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -322,6 +322,7 @@ from .escapist import EscapistIE  from .espn import (      ESPNIE,      ESPNArticleIE, +    FiveThirtyEightIE,  )  from .esri import EsriVideoIE  from .etonline import ETOnlineIE  | 
