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