diff options
Diffstat (limited to 'youtube_dl/extractor/cnn.py')
| -rw-r--r-- | youtube_dl/extractor/cnn.py | 31 | 
1 files changed, 28 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/cnn.py b/youtube_dl/extractor/cnn.py index 81142ee41..1bff005d6 100644 --- a/youtube_dl/extractor/cnn.py +++ b/youtube_dl/extractor/cnn.py @@ -11,14 +11,14 @@ from ..utils import (  class CNNIE(InfoExtractor): -    _VALID_URL = r'''(?x)https?://((edition|www)\.)?cnn\.com/video/(data/.+?|\?)/ -        (?P<path>.+?/(?P<title>[^/]+?)(?:\.cnn(-ap)?|(?=&)))''' +    _VALID_URL = r'''(?x)https?://(?:(?:edition|www)\.)?cnn\.com/video/(?:data/.+?|\?)/ +        (?P<path>.+?/(?P<title>[^/]+?)(?:\.cnn(?:-ap)?|(?=&)))'''      _TESTS = [{          'url': 'http://edition.cnn.com/video/?/video/sports/2013/06/09/nadal-1-on-1.cnn',          'md5': '3e6121ea48df7e2259fe73a0628605c4',          'info_dict': { -            'id': 'sports_2013_06_09_nadal-1-on-1.cnn', +            'id': 'sports/2013/06/09/nadal-1-on-1.cnn',              'ext': 'mp4',              'title': 'Nadal wins 8th French Open title',              'description': 'World Sport\'s Amanda Davies chats with 2013 French Open champion Rafael Nadal.', @@ -127,3 +127,28 @@ class CNNBlogsIE(InfoExtractor):              'url': cnn_url,              'ie_key': CNNIE.ie_key(),          } + + +class CNNArticleIE(InfoExtractor): +    _VALID_URL = r'https?://(?:(?:edition|www)\.)?cnn\.com/(?!video/)' +    _TEST = { +        'url': 'http://www.cnn.com/2014/12/21/politics/obama-north-koreas-hack-not-war-but-cyber-vandalism/', +        'md5': '275b326f85d80dff7592a9820f5dc887', +        'info_dict': { +            'id': 'bestoftv/2014/12/21/sotu-crowley-president-obama-north-korea-not-going-to-be-intimidated.cnn', +            'ext': 'mp4', +            'title': 'Obama: We\'re not going to be intimidated', +            'description': 'md5:e735586f3dc936075fa654a4d91b21f9', +            'upload_date': '20141220', +        }, +        'add_ie': ['CNN'], +    } + +    def _real_extract(self, url): +        webpage = self._download_webpage(url, url_basename(url)) +        cnn_url = self._html_search_regex(r"video:\s*'([^']+)'", webpage, 'cnn url') +        return { +            '_type': 'url', +            'url': 'http://cnn.com/video/?/video/' + cnn_url, +            'ie_key': CNNIE.ie_key(), +        } | 
