From 55af2b26e0f169bef2f10a7b5f6ec8e34c6dbb6d Mon Sep 17 00:00:00 2001 From: remitamine Date: Sat, 17 Oct 2015 18:30:51 +0100 Subject: [PATCH] [bilibili] extract backup url --- youtube_dl/extractor/bilibili.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/bilibili.py b/youtube_dl/extractor/bilibili.py index 8f23a30ab0..85156ce49c 100644 --- a/youtube_dl/extractor/bilibili.py +++ b/youtube_dl/extractor/bilibili.py @@ -58,13 +58,21 @@ def _extract_video_info(self, cid, view_data, page_num=1, num_pages=1): entries = [] for durl in durls: + formats = [] + backup_url = durl.find('./backup_url') + if backup_url is not None: + formats.append({'url': backup_url.find('./url').text}) + size = durl.find('./filesize|./size') + formats.append({ + 'url': durl.find('./url').text, + 'filesize': int_or_none(size.text) if size else None, + 'ext': 'flv', + }) entries.append({ 'id': '%s_part%s' % (cid, durl.find('./order').text), 'title': title, - 'url': durl.find('./url').text, - 'filesize': int_or_none(durl.find('./filesize').text), - 'ext': 'flv', 'duration': int_or_none(durl.find('./length').text) // 1000, + 'formats': formats, }) info = {