projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[meipai] Fix regular videos extraction and improve (closes #10718)
[youtube-dl]
/
youtube_dl
/
extractor
/
safari.py
diff --git
a/youtube_dl/extractor/safari.py
b/youtube_dl/extractor/safari.py
index 08ddbe3c4222879cade93fd9a5433e1d9c4e6e49..c3aec1edde5e9d02efb377fa39941ae01d2f04b4 100644
(file)
--- a/
youtube_dl/extractor/safari.py
+++ b/
youtube_dl/extractor/safari.py
@@
-1,4
+1,4
@@
-#
en
coding: utf-8
+# coding: utf-8
from __future__ import unicode_literals
import re
from __future__ import unicode_literals
import re
@@
-103,13
+103,13
@@
class SafariIE(SafariBaseIE):
webpage = self._download_webpage(url, video_id)
reference_id = self._search_regex(
webpage = self._download_webpage(url, video_id)
reference_id = self._search_regex(
- r'data-reference-id=(["\'])(?P<id>
.+?
)\1',
+ r'data-reference-id=(["\'])(?P<id>
(?:(?!\1).)+
)\1',
webpage, 'kaltura reference id', group='id')
partner_id = self._search_regex(
webpage, 'kaltura reference id', group='id')
partner_id = self._search_regex(
- r'data-partner-id=(["\'])(?P<id>
.+?
)\1',
+ r'data-partner-id=(["\'])(?P<id>
(?:(?!\1).)+
)\1',
webpage, 'kaltura widget id', group='id')
ui_id = self._search_regex(
webpage, 'kaltura widget id', group='id')
ui_id = self._search_regex(
- r'data-ui-id=(["\'])(?P<id>
.+?
)\1',
+ r'data-ui-id=(["\'])(?P<id>
(?:(?!\1).)+
)\1',
webpage, 'kaltura uiconf id', group='id')
query = {
webpage, 'kaltura uiconf id', group='id')
query = {
@@
-157,7
+157,14
@@
class SafariCourseIE(SafariBaseIE):
IE_NAME = 'safari:course'
IE_DESC = 'safaribooksonline.com online courses'
IE_NAME = 'safari:course'
IE_DESC = 'safaribooksonline.com online courses'
- _VALID_URL = r'https?://(?:www\.)?safaribooksonline\.com/(?:library/view/[^/]+|api/v1/book)/(?P<id>[^/]+)/?(?:[#?]|$)'
+ _VALID_URL = r'''(?x)
+ https?://
+ (?:
+ (?:www\.)?safaribooksonline\.com/(?:library/view/[^/]+|api/v1/book)|
+ techbus\.safaribooksonline\.com
+ )
+ /(?P<id>[^/]+)/?(?:[#?]|$)
+ '''
_TESTS = [{
'url': 'https://www.safaribooksonline.com/library/view/hadoop-fundamentals-livelessons/9780133392838/',
_TESTS = [{
'url': 'https://www.safaribooksonline.com/library/view/hadoop-fundamentals-livelessons/9780133392838/',
@@
-170,6
+177,9
@@
class SafariCourseIE(SafariBaseIE):
}, {
'url': 'https://www.safaribooksonline.com/api/v1/book/9781449396459/?override_format=json',
'only_matching': True,
}, {
'url': 'https://www.safaribooksonline.com/api/v1/book/9781449396459/?override_format=json',
'only_matching': True,
+ }, {
+ 'url': 'http://techbus.safaribooksonline.com/9780134426365',
+ 'only_matching': True,
}]
def _real_extract(self, url):
}]
def _real_extract(self, url):