diff --git a/src/you_get/extractors/douyutv.py b/src/you_get/extractors/douyutv.py
index 8674add0..f4170973 100644
--- a/src/you_get/extractors/douyutv.py
+++ b/src/you_get/extractors/douyutv.py
@@ -3,28 +3,17 @@
__all__ = ['douyutv_download']
from ..common import *
-import re
import json
def douyutv_download(url, output_dir = '.', merge = True, info_only = False):
- html = get_html(url)
- room_id_patt = r'"room_id":(\d{1,99}),'
- title_patt = r'
\s*
([^<]{1,9999})
'
- title_patt_backup = r'([^<]{1,9999})'
-
- roomid = re.findall(room_id_patt,html)[0]
- title = r1_of([title_patt,title_patt_backup], html)
- title = unescape_html(title)
+ room_id = url[url.rfind('/')+1:]
- conf = get_html("http://www.douyutv.com/api/client/room/"+roomid)
- metadata = json.loads(conf)
-
- rtmp_live= metadata.get('data').get('rtmp_live')
- rtmp_url= metadata.get('data').get('rtmp_url')
- real_url = rtmp_url+'/'+rtmp_live
+ content = get_html("http://www.douyutv.com/api/client/room/"+room_id)
+ data = json.loads(content)['data']
+
+ title = data.get('room_name')
+ real_url = data.get('rtmp_url')+'/'+data.get('rtmp_live')
- type, _, _ = url_info(real_url)
-
print_info(site_info, title, 'flv', float('inf'))
if not info_only:
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"
download = douyutv_download
download_playlist = playlist_not_supported('douyutv')
+