diff --git a/src/you_get/extractor/__init__.py b/src/you_get/extractor/__init__.py index 018cf072..f128640b 100644 --- a/src/you_get/extractor/__init__.py +++ b/src/you_get/extractor/__init__.py @@ -5,6 +5,7 @@ from .alive import * from .baidu import * from .bilibili import * from .blip import * +from .cbs import * from .cntv import * from .coursera import * from .dailymotion import * @@ -32,6 +33,7 @@ from .sina import * from .sohu import * from .songtaste import * from .soundcloud import * +from .theplatform import * from .tudou import * from .tumblr import * from .vid48 import * diff --git a/src/you_get/extractor/__main__.py b/src/you_get/extractor/__main__.py index 0cb5fe93..bbe15a33 100644 --- a/src/you_get/extractor/__main__.py +++ b/src/you_get/extractor/__main__.py @@ -24,6 +24,7 @@ def url_to_module(url): 'bilibili': bilibili, 'blip': blip, 'cntv': cntv, + 'cbs': cbs, 'coursera': coursera, 'dailymotion': dailymotion, 'douban': douban, @@ -53,6 +54,7 @@ def url_to_module(url): 'songtaste':songtaste, 'soundcloud': soundcloud, 'ted': ted, + 'theplatform': theplatform, 'tudou': tudou, 'tumblr': tumblr, 'vid48': vid48, diff --git a/src/you_get/extractor/cbs.py b/src/you_get/extractor/cbs.py new file mode 100644 index 00000000..8c9d4a7b --- /dev/null +++ b/src/you_get/extractor/cbs.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +__all__ = ['cbs_download'] + +from ..common import * + +from .theplatform import theplatform_download_by_pid + +def cbs_download(url, output_dir='.', merge=True, info_only=False): + """Downloads CBS videos by URL. + """ + + html = get_content(url) + pid = match1(html, r'video\.settings\.pid\s*=\s*\'([^\']+)\'') + title = match1(html, r'video\.settings\.title\s*=\s*\"([^\"]+)\"') + + theplatform_download_by_pid(pid, title, output_dir=output_dir, merge=merge, info_only=info_only) + +site_info = "CBS.com" +download = cbs_download +download_playlist = playlist_not_supported('cbs') diff --git a/src/you_get/extractor/theplatform.py b/src/you_get/extractor/theplatform.py new file mode 100644 index 00000000..61ce9415 --- /dev/null +++ b/src/you_get/extractor/theplatform.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +from ..common import * + +def theplatform_download_by_pid(pid, title, output_dir='.', merge=True, info_only=False): + smil_url = "http://link.theplatform.com/s/dJ5BDC/%s/meta.smil?format=smil&mbr=true" % pid + smil = get_content(smil_url) + smil_base = unescape_html(match1(smil, r'