projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[extractor/generic] Add test for snagfilms embeds
[youtube-dl]
/
youtube_dl
/
extractor
/
bilibili.py
diff --git
a/youtube_dl/extractor/bilibili.py
b/youtube_dl/extractor/bilibili.py
index a8bea2c10f36c264a168a33aaae59634e6b930eb..bf60450c2f3753aa64d5ae11069bec98b67f23dc 100644
(file)
--- a/
youtube_dl/extractor/bilibili.py
+++ b/
youtube_dl/extractor/bilibili.py
@@
-3,6
+3,8
@@
from __future__ import unicode_literals
import re
import itertools
import re
import itertools
+import json
+import xml.etree.ElementTree as ET
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-67,11
+69,19
@@
class BiliBiliIE(InfoExtractor):
entries = []
entries = []
- lq_
doc = self._download_xml
(
+ lq_
page = self._download_webpage
(
'http://interface.bilibili.com/v_cdn_play?appkey=1&cid=%s' % cid,
video_id,
note='Downloading LQ video info'
)
'http://interface.bilibili.com/v_cdn_play?appkey=1&cid=%s' % cid,
video_id,
note='Downloading LQ video info'
)
+ try:
+ err_info = json.loads(lq_page)
+ raise ExtractorError(
+ 'BiliBili said: ' + err_info['error_text'], expected=True)
+ except ValueError:
+ pass
+
+ lq_doc = ET.fromstring(lq_page)
lq_durls = lq_doc.findall('./durl')
hq_doc = self._download_xml(
lq_durls = lq_doc.findall('./durl')
hq_doc = self._download_xml(
@@
-95,7
+105,7
@@
class BiliBiliIE(InfoExtractor):
'filesize': int_or_none(
lq_durl.find('./size'), get_attr='text'),
}]
'filesize': int_or_none(
lq_durl.find('./size'), get_attr='text'),
}]
- if hq_durl:
+ if hq_durl
is not None
:
formats.append({
'format_id': 'hq',
'quality': 2,
formats.append({
'format_id': 'hq',
'quality': 2,