Add an extractor for vice.com (closes #1051)
This commit is contained in:
		
							parent
							
								
									4dc0ff3ecf
								
							
						
					
					
						commit
						e8f8e80097
					
				
					 3 changed files with 43 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -104,6 +104,7 @@ from .vbox7 import Vbox7IE
 | 
			
		|||
from .veehd import VeeHDIE
 | 
			
		||||
from .veoh import VeohIE
 | 
			
		||||
from .vevo import VevoIE
 | 
			
		||||
from .vice import ViceIE
 | 
			
		||||
from .videofyme import VideofyMeIE
 | 
			
		||||
from .vimeo import VimeoIE, VimeoChannelIE
 | 
			
		||||
from .vine import VineIE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,10 @@ class OoyalaIE(InfoExtractor):
 | 
			
		|||
        },
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def _url_for_embed_code(embed_code):
 | 
			
		||||
        return 'http://player.ooyala.com/player.js?embedCode=%s' % embed_code
 | 
			
		||||
 | 
			
		||||
    def _extract_result(self, info, more_info):
 | 
			
		||||
        return {'id': info['embedCode'],
 | 
			
		||||
                'ext': 'mp4',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										38
									
								
								youtube_dl/extractor/vice.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								youtube_dl/extractor/vice.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
import re
 | 
			
		||||
 | 
			
		||||
from .common import InfoExtractor
 | 
			
		||||
from .ooyala import OoyalaIE
 | 
			
		||||
from ..utils import ExtractorError
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ViceIE(InfoExtractor):
 | 
			
		||||
    _VALID_URL = r'http://www.vice.com/.*?/(?P<name>.+)'
 | 
			
		||||
 | 
			
		||||
    _TEST = {
 | 
			
		||||
        u'url': u'http://www.vice.com/Fringes/cowboy-capitalists-part-1',
 | 
			
		||||
        u'file': u'43cW1mYzpia9IlestBjVpd23Yu3afAfp.mp4',
 | 
			
		||||
        u'info_dict': {
 | 
			
		||||
            u'title': u'VICE_COWBOYCAPITALISTS_PART01_v1_VICE_WM_1080p.mov',
 | 
			
		||||
        },
 | 
			
		||||
        u'params': {
 | 
			
		||||
            # Requires ffmpeg (m3u8 manifest)
 | 
			
		||||
            u'skip_download': True,
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    def _real_extract(self, url):
 | 
			
		||||
        mobj = re.match(self._VALID_URL, url)
 | 
			
		||||
        name = mobj.group('name')
 | 
			
		||||
        webpage = self._download_webpage(url, name)
 | 
			
		||||
        try:
 | 
			
		||||
            ooyala_url = self._og_search_video_url(webpage)
 | 
			
		||||
        except ExtractorError:
 | 
			
		||||
            try:
 | 
			
		||||
                embed_code = self._search_regex(
 | 
			
		||||
                    r'OO.Player.create\(\'ooyalaplayer\', \'(.+?)\'', webpage,
 | 
			
		||||
                    u'ooyala embed code')
 | 
			
		||||
                ooyala_url = OoyalaIE._url_for_embed_code(embed_code)
 | 
			
		||||
            except ExtractorError:
 | 
			
		||||
                raise ExtractorError(u'The page doesn\'t contain a video', expected=True)
 | 
			
		||||
        return self.url_result(ooyala_url, ie='Ooyala')
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue