From f012db3e636d5f6befc38d1d9f35136cbed9844a Mon Sep 17 00:00:00 2001 From: cnbeining Date: Wed, 14 Oct 2015 17:39:04 -0400 Subject: [PATCH] Add suntv support --- README.md | 1 + src/you_get/common.py | 2 ++ src/you_get/extractors/__init__.py | 1 + src/you_get/extractors/suntv.py | 40 ++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 src/you_get/extractors/suntv.py diff --git a/README.md b/README.md index 3130a33f..911197ac 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Fork me on GitHub: * Sohu (搜狐视频) * SongTaste * SoundCloud +* SunTV (阳光卫视) * TED * Tudou (土豆) * Tumblr diff --git a/src/you_get/common.py b/src/you_get/common.py index 8cca99e6..9da66c35 100755 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -1023,6 +1023,7 @@ def url_to_module(url): sohu, songtaste, soundcloud, + suntv, ted, theplatform, tucao, @@ -1082,6 +1083,7 @@ def url_to_module(url): 'instagram': instagram, 'iqilu': iqilu, 'iqiyi': iqiyi, + 'isuntv': suntv, 'joy': joy, 'jpopsuki': jpopsuki, 'kankanews': bilibili, diff --git a/src/you_get/extractors/__init__.py b/src/you_get/extractors/__init__.py index 419169cf..e460772b 100755 --- a/src/you_get/extractors/__init__.py +++ b/src/you_get/extractors/__init__.py @@ -46,6 +46,7 @@ from .sina import * from .sohu import * from .songtaste import * from .soundcloud import * +from .suntv import * from .theplatform import * from .tucao import * from .tudou import * diff --git a/src/you_get/extractors/suntv.py b/src/you_get/extractors/suntv.py new file mode 100644 index 00000000..0b506440 --- /dev/null +++ b/src/you_get/extractors/suntv.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +__all__ = ['suntv_download'] + +from ..common import * +import urllib +import re + +def suntv_download(url, output_dir = '.', merge = True, info_only = False, **kwargs): + if re.match(r'http://www.isuntv.com/\w+', url): + API_URL = "http://www.isuntv.com/ajaxpro/SunTv.pro_vod_playcatemp4,App_Web_playcatemp4.ascx.9f08f04f.ashx" + + itemid = match1(url, r'http://www.isuntv.com/pro/ct(\d+).html') + values = {"itemid" : itemid, "vodid": ""} + + data = str(values).replace("'", '"') + data = data.encode('utf-8') + req = urllib.request.Request(API_URL, data) + req.add_header('AjaxPro-Method', 'ToPlay') #important! + resp = urllib.request.urlopen(req) + respData = resp.read() + respData = respData.decode('ascii').strip('"') #Ahhhhhhh! + + video_url = 'http://www.isuntv.com' + str(respData) + + html = get_content(url, decoded=False) + html = html.decode('gbk') + title = match1(html, '([^<]+)').strip() #get rid of \r\n s + + type_ = '' + size = 0 + type, ext, size = url_info(video_url) + + print_info(site_info, title, type, size) + if not info_only: + download_urls([url], title, 'mp4', size, output_dir, merge=merge) + +site_info = "SunTV" +download = suntv_download +download_playlist = playlist_not_supported('suntv')