you-get/src/you_get/extractors/douyutv.py

33 lines
996 B
Python
Raw Normal View History

2014-10-10 18:48:00 +04:00
#!/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):
2014-10-10 19:26:41 +04:00
html = get_html(url)
2014-10-10 20:15:54 +04:00
room_id_patt = r'"room_id":(\d{1,99}),'
title_patt = r'<div class="headline clearfix">\s*<h1>([^<]{1,9999})</h1>\s*</div>'
2014-10-10 18:48:00 +04:00
roomid = re.findall(room_id_patt,html)[0]
2014-10-10 20:15:54 +04:00
title = unescape_html(re.findall(title_patt,html)[0])
2014-10-10 18:48:00 +04:00
conf = get_html("http://www.douyutv.com/api/client/room/"+roomid)
metadata = json.loads(conf)
2014-10-10 19:26:41 +04:00
rtmp_live= metadata.get('data').get('rtmp_live')
rtmp_url= metadata.get('data').get('rtmp_url')
2014-10-10 18:48:00 +04:00
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')