add douyutv support.

This commit is contained in:
pl 2014-10-10 22:48:00 +08:00
parent 861e3af351
commit 3978d9e056
2 changed files with 34 additions and 1 deletions

View File

@ -898,7 +898,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, tucao, tumblr, vid48, videobam, vimeo, vine, vk, xiami, yinyuetai, youku, youtube
from .extractors import netease, w56, acfun, baidu, bilibili, blip, catfun, cntv, cbs, coursera, dailymotion, douban, douyutv, 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, videobam, vimeo, vine, vk, xiami, yinyuetai, youku, youtube
video_host = r1(r'https?://([^/]+)/', url)
video_url = r1(r'https?://[^/]+(.*)', url)
@ -923,6 +923,7 @@ def url_to_module(url):
'coursera': coursera,
'dailymotion': dailymotion,
'douban': douban,
'douyutv': douyutv,
'ehow': ehow,
'facebook': facebook,
'freesound': freesound,

View File

@ -0,0 +1,32 @@
#!/usr/bin/env python
__all__ = ['douyutv_download']
from ..common import *
import re
import json
def douyutv_download(url, output_dir = '.', merge = True, info_only = False):
html = get_html(p_url)
room_id_patt = '"room_id":(\d{1,99}),'
title_patt = '<title>([^<]{0,1000})</title>'
roomid = re.findall(room_id_patt,html)[0]
title = re.findall(title_patt,html)[0]
conf = get_html("http://www.douyutv.com/api/client/room/"+roomid)
metadata = json.loads(conf)
rtmp_live= jcfg.get('data').get('rtmp_live')
rtmp_url= jcfg.get('data').get('rtmp_url')
real_url = rtmp_url+'/'+rtmp_live
type, ext, size = url_info(real_url)
print_info(site_info, title, type, size)
if not info_only:
download_urls([real_url], title, ext, size, output_dir, merge = merge)
site_info = "douyutv.com"
download = douyutv_download
download_playlist = playlist_not_supported('douyutv')