diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-12-13 12:35:13 +0100 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-12-13 12:35:45 +0100 | 
| commit | 7129bed51bc2452524c69874023ee4a0b351a046 (patch) | |
| tree | 9e34c9a2e2cb398e16acec3109507102c8b6639f | |
| parent | 1cc79574fc5df21bf35dccf61eac0e9e75ed8d20 (diff) | |
[keek] Modernize and extract uploader
| -rw-r--r-- | youtube_dl/extractor/keek.py | 28 | 
1 files changed, 18 insertions, 10 deletions
| diff --git a/youtube_dl/extractor/keek.py b/youtube_dl/extractor/keek.py index 5d679e88d..e94e2f8ad 100644 --- a/youtube_dl/extractor/keek.py +++ b/youtube_dl/extractor/keek.py @@ -6,29 +6,36 @@ from .common import InfoExtractor  class KeekIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?keek\.com/(?:!|\w+/keeks/)(?P<videoID>\w+)' +    _VALID_URL = r'https?://(?:www\.)?keek\.com/(?:!|\w+/keeks/)(?P<id>\w+)'      IE_NAME = 'keek'      _TEST = {          'url': 'https://www.keek.com/ytdl/keeks/NODfbab', -        'file': 'NODfbab.mp4', -        'md5': '9b0636f8c0f7614afa4ea5e4c6e57e83', +        'md5': '09c5c109067536c1cec8bac8c21fea05',          'info_dict': { -            'uploader': 'ytdl', +            'id': 'NODfbab', +            'ext': 'mp4', +            'uploader': 'youtube-dl project', +            'uploader_id': 'ytdl',              'title': 'test chars: "\'/\\\u00e4<>This is a test video for youtube-dl.For more information, contact phihag@phihag.de .',          },      }      def _real_extract(self, url): -        m = re.match(self._VALID_URL, url) -        video_id = m.group('videoID') +        video_id = self._match_id(url)          video_url = 'http://cdn.keek.com/keek/video/%s' % video_id          thumbnail = 'http://cdn.keek.com/keek/thumbnail/%s/w100/h75' % video_id          webpage = self._download_webpage(url, video_id) -        uploader = self._html_search_regex( -            r'<div class="user-name-and-bio">[\S\s]+?<h2>(?P<uploader>.+?)</h2>', -            webpage, 'uploader', fatal=False) +        raw_desc = self._html_search_meta('description', webpage) +        if raw_desc: +            uploader = self._html_search_regex( +                r'Watch (.*?)\s+\(', raw_desc, 'uploader', fatal=False) +            uploader_id = self._html_search_regex( +                r'Watch .*?\(@(.+?)\)', raw_desc, 'uploader_id', fatal=False) +        else: +            uploader = None +            uploader_id = None          return {              'id': video_id, @@ -36,5 +43,6 @@ class KeekIE(InfoExtractor):              'ext': 'mp4',              'title': self._og_search_title(webpage),              'thumbnail': thumbnail, -            'uploader': uploader +            'uploader': uploader, +            'uploader_id': uploader_id,          } | 
