Update douyutv.py

This commit is contained in:
Snise 2014-11-18 15:57:04 +08:00
parent a5a28c1d7a
commit 5dd1dce7c4

View File

@ -3,28 +3,17 @@
__all__ = ['douyutv_download'] __all__ = ['douyutv_download']
from ..common import * from ..common import *
import re
import json import json
def douyutv_download(url, output_dir = '.', merge = True, info_only = False): def douyutv_download(url, output_dir = '.', merge = True, info_only = False):
html = get_html(url) room_id = url[url.rfind('/')+1:]
room_id_patt = r'"room_id":(\d{1,99}),'
title_patt = r'<div class="headline clearfix">\s*<h1>([^<]{1,9999})</h1>'
title_patt_backup = r'<title>([^<]{1,9999})</title>'
roomid = re.findall(room_id_patt,html)[0]
title = r1_of([title_patt,title_patt_backup], html)
title = unescape_html(title)
conf = get_html("http://www.douyutv.com/api/client/room/"+roomid) content = get_html("http://www.douyutv.com/api/client/room/"+room_id)
metadata = json.loads(conf) data = json.loads(content)['data']
rtmp_live= metadata.get('data').get('rtmp_live') title = data.get('room_name')
rtmp_url= metadata.get('data').get('rtmp_url') real_url = data.get('rtmp_url')+'/'+data.get('rtmp_live')
real_url = rtmp_url+'/'+rtmp_live
type, _, _ = url_info(real_url)
print_info(site_info, title, 'flv', float('inf')) print_info(site_info, title, 'flv', float('inf'))
if not info_only: if not info_only:
download_urls([real_url], title, 'flv', None, output_dir, merge = merge) download_urls([real_url], title, 'flv', None, output_dir, merge = merge)
@ -32,3 +21,4 @@ def douyutv_download(url, output_dir = '.', merge = True, info_only = False):
site_info = "douyutv.com" site_info = "douyutv.com"
download = douyutv_download download = douyutv_download
download_playlist = playlist_not_supported('douyutv') download_playlist = playlist_not_supported('douyutv')