This commit is contained in:
parent
5d9f6cbc5a
commit
fda6d237a5
|
@ -2537,14 +2537,15 @@ class GenericIE(InfoExtractor):
|
||||||
dailymail_urls, video_id, video_title, ie=DailyMailIE.ie_key())
|
dailymail_urls, video_id, video_title, ie=DailyMailIE.ie_key())
|
||||||
|
|
||||||
# Look for embedded Wistia player
|
# Look for embedded Wistia player
|
||||||
wistia_url = WistiaIE._extract_url(webpage)
|
wistia_urls = WistiaIE._extract_urls(webpage)
|
||||||
if wistia_url:
|
if wistia_urls:
|
||||||
return {
|
playlist = self.playlist_from_matches(wistia_urls, video_id, video_title, ie=WistiaIE.ie_key())
|
||||||
|
for entry in playlist['entries']:
|
||||||
|
entry.update({
|
||||||
'_type': 'url_transparent',
|
'_type': 'url_transparent',
|
||||||
'url': self._proto_relative_url(wistia_url),
|
|
||||||
'ie_key': WistiaIE.ie_key(),
|
|
||||||
'uploader': video_uploader,
|
'uploader': video_uploader,
|
||||||
}
|
})
|
||||||
|
return playlist
|
||||||
|
|
||||||
# Look for SVT player
|
# Look for SVT player
|
||||||
svt_url = SVTIE._extract_url(webpage)
|
svt_url = SVTIE._extract_url(webpage)
|
||||||
|
|
|
@ -45,22 +45,23 @@ class WistiaIE(InfoExtractor):
|
||||||
# https://wistia.com/support/embed-and-share/video-on-your-website
|
# https://wistia.com/support/embed-and-share/video-on-your-website
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _extract_url(webpage):
|
def _extract_url(webpage):
|
||||||
match = re.search(
|
urls = WistiaIE._extract_urls(webpage)
|
||||||
r'<(?:meta[^>]+?content|(?:iframe|script)[^>]+?src)=["\'](?P<url>(?:https?:)?//(?:fast\.)?wistia\.(?:net|com)/embed/(?:iframe|medias)/[a-z0-9]{10})', webpage)
|
return urls[0] if urls else None
|
||||||
if match:
|
|
||||||
return unescapeHTML(match.group('url'))
|
|
||||||
|
|
||||||
match = re.search(
|
@staticmethod
|
||||||
|
def _extract_urls(webpage):
|
||||||
|
urls = []
|
||||||
|
for match in re.finditer(
|
||||||
|
r'<(?:meta[^>]+?content|(?:iframe|script)[^>]+?src)=["\'](?P<url>(?:https?:)?//(?:fast\.)?wistia\.(?:net|com)/embed/(?:iframe|medias)/[a-z0-9]{10})', webpage):
|
||||||
|
urls.append(unescapeHTML(match.group('url')))
|
||||||
|
for match in re.finditer(
|
||||||
r'''(?sx)
|
r'''(?sx)
|
||||||
<script[^>]+src=(["'])(?:https?:)?//fast\.wistia\.com/assets/external/E-v1\.js\1[^>]*>.*?
|
|
||||||
<div[^>]+class=(["']).*?\bwistia_async_(?P<id>[a-z0-9]{10})\b.*?\2
|
<div[^>]+class=(["']).*?\bwistia_async_(?P<id>[a-z0-9]{10})\b.*?\2
|
||||||
''', webpage)
|
''', webpage):
|
||||||
if match:
|
urls.append('wistia:%s' % match.group('id'))
|
||||||
return 'wistia:%s' % match.group('id')
|
for match in re.finditer(r'(?:data-wistia-?id=["\']|Wistia\.embed\(["\']|id=["\']wistia_)(?P<id>[a-z0-9]{10})', webpage):
|
||||||
|
urls.append('wistia:%s' % match.group('id'))
|
||||||
match = re.search(r'(?:data-wistia-?id=["\']|Wistia\.embed\(["\']|id=["\']wistia_)(?P<id>[a-z0-9]{10})', webpage)
|
return urls
|
||||||
if match:
|
|
||||||
return 'wistia:%s' % match.group('id')
|
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
|
|
Loading…
Reference in New Issue