diff --git a/you_get/downloader/bilibili.py b/you_get/downloader/bilibili.py index 722b23eb..6b77084f 100644 --- a/you_get/downloader/bilibili.py +++ b/you_get/downloader/bilibili.py @@ -56,26 +56,32 @@ def parse_cid_playurl(xml): def bilibili_download_by_cid(id, title, output_dir = '.', merge = True, info_only = False): url = 'http://interface.bilibili.tv/playurl?cid=' + id urls = parse_cid_playurl(get_html(url, 'utf-8')) - assert re.search(r'\.(flv|hlv)\b', urls[0]), urls[0] + + if re.search(r'\.(flv|hlv)\b', urls[0]): + type = 'flv' + elif re.search(r'/mp4/', urls[0]): + type = 'mp4' + else: + raise NotImplementedError(urls[0]) size = 0 for url in urls: _, _, temp = url_info(url) size += temp - print_info(site_info, title, 'flv', size) + print_info(site_info, title, type, size) if not info_only: - download_urls(urls, title, 'flv', total_size = None, output_dir = output_dir, merge = merge) + download_urls(urls, title, type, total_size = None, output_dir = output_dir, merge = merge) def bilibili_download(url, output_dir = '.', merge = True, info_only = False): - assert re.match(r'http://(www.bilibili.tv|bilibili.kankanews.com)/video/av(\d+)', url) + assert re.match(r'http://(www.bilibili.tv|bilibili.kankanews.com|bilibili.smgbb.cn)/video/av(\d+)', url) html = get_html(url) title = r1(r'