projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[bilibili] Add support for new URL schema with BV ids (closes #24439, closes #24442)
[youtube-dl]
/
youtube_dl
/
extractor
/
bilibili.py
diff --git
a/youtube_dl/extractor/bilibili.py
b/youtube_dl/extractor/bilibili.py
index 80bd696e21f3a4af3c996e9899ce439116e13d19..e9d0a8d0c04adab890e2061e0f3e1ec477cc0694 100644
(file)
--- a/
youtube_dl/extractor/bilibili.py
+++ b/
youtube_dl/extractor/bilibili.py
@@
-24,7
+24,18
@@
from ..utils import (
class BiliBiliIE(InfoExtractor):
class BiliBiliIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.|bangumi\.|)bilibili\.(?:tv|com)/(?:video/av|anime/(?P<anime_id>\d+)/play#)(?P<id>\d+)'
+ _VALID_URL = r'''(?x)
+ https?://
+ (?:(?:www|bangumi)\.)?
+ bilibili\.(?:tv|com)/
+ (?:
+ (?:
+ video/[aA][vV]|
+ anime/(?P<anime_id>\d+)/play\#
+ )(?P<id_bv>\d+)|
+ video/[bB][vV](?P<id>[^/?#&]+)
+ )
+ '''
_TESTS = [{
'url': 'http://www.bilibili.tv/video/av1074402/',
_TESTS = [{
'url': 'http://www.bilibili.tv/video/av1074402/',
@@
-92,6
+103,10
@@
class BiliBiliIE(InfoExtractor):
'skip_download': True, # Test metadata only
},
}]
'skip_download': True, # Test metadata only
},
}]
+ }, {
+ # new BV video id format
+ 'url': 'https://www.bilibili.com/video/BV1JE411F741',
+ 'only_matching': True,
}]
_APP_KEY = 'iVGUTjsxvpLeuDCf'
}]
_APP_KEY = 'iVGUTjsxvpLeuDCf'
@@
-109,7
+124,7
@@
class BiliBiliIE(InfoExtractor):
url, smuggled_data = unsmuggle_url(url, {})
mobj = re.match(self._VALID_URL, url)
url, smuggled_data = unsmuggle_url(url, {})
mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('id')
+ video_id = mobj.group('id')
or mobj.group('id_bv')
anime_id = mobj.group('anime_id')
webpage = self._download_webpage(url, video_id)
anime_id = mobj.group('anime_id')
webpage = self._download_webpage(url, video_id)