diff --git a/README.md b/README.md index 2c8ce16b..811be9fe 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Fork me on GitHub: * CNTV (中国网络电视台) * ifeng (凤凰视频) * iQIYI (爱奇艺) +* Joy.cn (激动网) * Ku6 (酷6网) * NetEase (网易视频) * PPTV @@ -218,6 +219,7 @@ You-Get基于优酷下载脚本[iambus/youku-lixian](https://github.com/iambus/y * CNTV * 凤凰视频 * 爱奇艺 +* 激动网 * 酷6网 * 网易视频 * PPTV diff --git a/README.txt b/README.txt index 01f6d559..41076856 100644 --- a/README.txt +++ b/README.txt @@ -28,6 +28,7 @@ Supported Sites (As of Now) * CNTV (中国网络电视台) http://www.cntv.cn * ifeng (凤凰视频) http://v.ifeng.com * iQIYI (爱奇艺) http://www.iqiyi.com +* Joy.cn (激动网) http://www.joy.cn * Ku6 (酷6网) http://www.ku6.com * NetEase (网易视频) http://v.163.com * PPTV http://www.pptv.com diff --git a/you_get/downloader/__init__.py b/you_get/downloader/__init__.py index b25bcb0a..4be6c7f5 100644 --- a/you_get/downloader/__init__.py +++ b/you_get/downloader/__init__.py @@ -8,6 +8,7 @@ from .facebook import * from .googleplus import * from .ifeng import * from .iqiyi import * +from .joy import * from .ku6 import * from .netease import * from .pptv import * diff --git a/you_get/downloader/joy.py b/you_get/downloader/joy.py new file mode 100644 index 00000000..3b61eeb7 --- /dev/null +++ b/you_get/downloader/joy.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +__all__ = ['joy_download'] + +from ..common import * + +def video_info(channel_id, program_id, volumn_id): + url = 'http://msx.app.joy.cn/service.php' + if program_id: + url += '?action=vodmsxv6' + url += '&channelid=%s' % channel_id + url += '&programid=%s' % program_id + url += '&volumnid=%s' % volumn_id + else: + url += '?action=msxv6' + url += '&videoid=%s' % volumn_id + + xml = get_html(url) + + name = r1(r'(?:<!\[CDATA\[)?(.+?)(?:\]\]>)?', xml) + urls = re.findall(r']*>(?:)?', xml) + hostpath = r1(r']*>(?:)?', xml) + + return name, urls, hostpath + +def joy_download(url, output_dir = '.', merge = True, info_only = False): + channel_id = r1(r'[^_]channelId\s*:\s*"([^\"]+)"', get_html(url)) + program_id = r1(r'[^_]programId\s*:\s*"([^\"]+)"', get_html(url)) + volumn_id = r1(r'[^_]videoId\s*:\s*"([^\"]+)"', get_html(url)) + + title, urls, hostpath = video_info(channel_id, program_id, volumn_id) + urls = [hostpath + url for url in urls] + + size = 0 + for url in urls: + _, ext, temp = url_info(url) + size += temp + + print_info(site_info, title, ext, size) + if not info_only: + download_urls(urls, title, ext, size, output_dir = output_dir, merge = merge) + +site_info = "Joy.cn" +download = joy_download +download_playlist = playlist_not_supported('joy') diff --git a/you_get/main.py b/you_get/main.py index 8083398b..4d45448e 100644 --- a/you_get/main.py +++ b/you_get/main.py @@ -29,6 +29,7 @@ def url_to_module(url): 'iask': sina, 'ifeng': ifeng, 'iqiyi': iqiyi, + 'joy': joy, 'kankanews': bilibili, 'ku6': ku6, 'pptv': pptv,