diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 72523c54d..ace298fb3 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -142,6 +142,7 @@ from .kickstarter import KickStarterIE from .keek import KeekIE from .kontrtube import KontrTubeIE +from .ku6 import Ku6IE from .la7 import LA7IE from .lifenews import LifeNewsIE from .liveleak import LiveLeakIE diff --git a/youtube_dl/extractor/ku6.py b/youtube_dl/extractor/ku6.py new file mode 100644 index 000000000..eecbe2696 --- /dev/null +++ b/youtube_dl/extractor/ku6.py @@ -0,0 +1,38 @@ +from __future__ import unicode_literals +import re +from .common import InfoExtractor + +class Ku6IE(InfoExtractor): + _VALID_URL = r'http://v\.ku6\.com/show/(?P[a-zA-Z0-9\-\_]+)(?:\.)*html' + _TEST = { + 'url': 'http://v.ku6.com/show/JG-8yS14xzBr4bCn1pu0xw...html', + 'info_dict': { + 'id': 'JG-8yS14xzBr4bCn1pu0xw', + 'ext': 'f4v', + u'title': u'techniques test', + } + } + + + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') + + webpage = self._download_webpage(url, video_id) + #title = self._html_search_meta('title', webpage, 'title') + title = self._search_regex(r'

(.*?)

', webpage, 'title') + self.to_screen('title: '+title) + + dataUrl = 'http://v.ku6.com/fetchVideo4Player/'+video_id+'.html' + jsonData = self._download_json(dataUrl, video_id) + downloadUrl = jsonData['data']['f'] + + return { + 'id': video_id, + 'title': title, + 'url': downloadUrl + # TODO more properties (see youtube_dl/extractor/common.py) + + } +