From 7f51b7a1b6a319595df5c360bae0264386e590e9 Mon Sep 17 00:00:00 2001 From: jackyzy823 Date: Thu, 31 Jul 2014 22:28:46 +0800 Subject: [PATCH 1/3] add support for tucao.cc --- src/you_get/extractors/tucao.py | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/you_get/extractors/tucao.py diff --git a/src/you_get/extractors/tucao.py b/src/you_get/extractors/tucao.py new file mode 100644 index 00000000..7593f3d9 --- /dev/null +++ b/src/you_get/extractors/tucao.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python + +__all__ = ['tucao_download'] +from ..common import * +# import re +import random +import time +from xml.dom import minidom + +#1.
  • type=tudou&vid=199687639
  • +#2.
  • type=tudou&vid=199506910|
  • +#3.
  • type=video&file=http://xiaoshen140731.qiniudn.com/lovestage04.flv|
  • +#4 may ?
  • type=video&file=http://xiaoshen140731.qiniudn.com/lovestage04.flv|xx**type=&vid=?
  • +#5.
  • type=tudou&vid=200003098|07**type=tudou&vid=200000350|08
  • + +# re_pattern=re.compile(r"(type=(.+?)&(vid|file)=(.*?))[\|<]") + +def tucao_single_download(type_link, title, output_dir=".", merge=True, info_only=False): + if "file" in type_link: + url=type_link[type_link.find("file=")+5:] + vtype, ext, size=url_info(url) + print_info(site_info, title, vtype, size) + if not info_only: + download_urls([url], title, ext, size, output_dir) + else: + u="http://www.tucao.cc/api/playurl.php?{}&key=tucao{:07x}.cc&r={}".format(type_link,random.getrandbits(28),int(time.time()*1000)) + xml=minidom.parseString(get_content(u)) + urls=[] + size=0 + for i in xml.getElementsByTagName("url"): + urls.append(i.firstChild.nodeValue) + vtype, ext, _size=url_info(i.firstChild.nodeValue) + size+=_size + print_info(site_info, title, vtype, size) + if not info_only: + download_urls(urls, title, ext, size, output_dir) + +def tucao_download(url, output_dir=".", merge=True, info_only=False): + html=get_content(url) + title=match1(html,r'

    (.*?)<\w') + raw_list=match1(html,r"
  • (type=.+?)
  • ") + raw_l=raw_list.split("**") + if len(raw_l)==1: + format_link=raw_l[0][:-1] if raw_l[0].endswith("|") else raw_l[0] + tucao_single_download(format_link,title,output_dir,merge,info_only) + else: + for i in raw_l: + format_link,sub_title=i.split("|") + tucao_single_download(format_link,title+"-"+sub_title,output_dir,merge,info_only) + + +site_info = "tucao.cc" +download = tucao_download +download_playlist = playlist_not_supported("tucao") From dfd52fdd9f6e0f064157b654317cfadfa1e19d25 Mon Sep 17 00:00:00 2001 From: jackyzy823 Date: Thu, 31 Jul 2014 22:30:54 +0800 Subject: [PATCH 2/3] import tucao in common and __init__ --- src/you_get/common.py | 3 ++- src/you_get/extractors/__init__.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/you_get/common.py b/src/you_get/common.py index 50f68263..a16b4019 100644 --- a/src/you_get/common.py +++ b/src/you_get/common.py @@ -922,7 +922,7 @@ def script_main(script_name, download, download_playlist = None): sys.exit(1) def url_to_module(url): - from .extractors import netease, w56, acfun, baidu, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, douban, ehow, facebook, freesound, google, sina, ifeng, alive, instagram, iqiyi, joy, jpopsuki, khan, ku6, kugou, kuwo, letv, magisto, miomio, mixcloud, mtv81, nicovideo, pptv, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tumblr, vid48, vimeo, vine, vk, xiami, yinyuetai, youku, youtube + from .extractors import netease, w56, acfun, baidu, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, douban, ehow, facebook, freesound, google, sina, ifeng, alive, instagram, iqiyi, joy, jpopsuki, khan, ku6, kugou, kuwo, letv, magisto, miomio, mixcloud, mtv81, nicovideo, pptv, qq, sohu, songtaste, soundcloud, ted, theplatform, tudou, tucao, tumblr, vid48, vimeo, vine, vk, xiami, yinyuetai, youku, youtube video_host = r1(r'https?://([^/]+)/', url) video_url = r1(r'https?://[^/]+(.*)', url) @@ -978,6 +978,7 @@ def url_to_module(url): 'soundcloud': soundcloud, 'ted': ted, 'theplatform': theplatform, + "tucao":tucao, 'tudou': tudou, 'tumblr': tumblr, 'vid48': vid48, diff --git a/src/you_get/extractors/__init__.py b/src/you_get/extractors/__init__.py index bcd926ff..e2510ee3 100644 --- a/src/you_get/extractors/__init__.py +++ b/src/you_get/extractors/__init__.py @@ -37,6 +37,7 @@ from .sohu import * from .songtaste import * from .soundcloud import * from .theplatform import * +from .tucao import * from .tudou import * from .tumblr import * from .vid48 import * From 4f8440ba38face32226b454fd8f7cbfd38453db5 Mon Sep 17 00:00:00 2001 From: jackyzy823 Date: Fri, 1 Aug 2014 00:16:34 +0800 Subject: [PATCH 3/3] no more acfun.com --- src/you_get/extractors/qq.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/you_get/extractors/qq.py b/src/you_get/extractors/qq.py index b91f0f95..ef660b29 100644 --- a/src/you_get/extractors/qq.py +++ b/src/you_get/extractors/qq.py @@ -4,8 +4,21 @@ __all__ = ['qq_download'] from ..common import * +#QQMUSIC +#SINGLE +#1. http://y.qq.com/#type=song&mid=000A9lMb0iEqwN +#2. http://y.qq.com/#type=song&id=4754713 +#3. http://s.plcloud.music.qq.com/fcgi-bin/fcg_yqq_song_detail_info.fcg?songmid=002NqCeX3owQIw +#4. http://s.plcloud.music.qq.com/fcgi-bin/fcg_yqq_song_detail_info.fcg?songid=4754713 +#ALBUM +#1. http://y.qq.com/y/static/album/3/c/00385vBa0n3O3c.html?pgv_ref=qqmusic.y.index.music.pic1 +#2. http://y.qq.com/#type=album&mid=004c62RC2uujor +#MV +#can download as video through qq_download_by_id +#1. http://y.qq.com/y/static/mv/mv_play.html?vid=i0014ufczcw + def qq_download_by_id(id, title=None, output_dir='.', merge=True, info_only=False): - xml = get_html('http://www.acfun.com/getinfo?vids=%s' % id) + xml = get_html('http://www.acfun.tv/getinfo?vids=%s' % id) from xml.dom.minidom import parseString doc = parseString(xml) doc_root = doc.getElementsByTagName('root')[0]