Add TeamcocoIE (closes #212)
This commit is contained in:
		
							parent
							
								
									afef36c950
								
							
						
					
					
						commit
						45014296be
					
				| @ -472,5 +472,15 @@ | |||||||
|       "uploader_id": "forestwander-nature-pictures", |       "uploader_id": "forestwander-nature-pictures", | ||||||
|       "description": "Waterfalls in the Springtime at Dark Hollow Waterfalls. These are located just off of Skyline Drive in Virginia. They are only about 6/10 of a mile hike but it is a pretty steep hill and a good climb back up." |       "description": "Waterfalls in the Springtime at Dark Hollow Waterfalls. These are located just off of Skyline Drive in Virginia. They are only about 6/10 of a mile hike but it is a pretty steep hill and a good climb back up." | ||||||
|     } |     } | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "name": "Teamcoco", | ||||||
|  |     "url": "http://teamcoco.com/video/louis-ck-interview-george-w-bush", | ||||||
|  |     "file": "19705.mp4", | ||||||
|  |     "md5": "27b6f7527da5acf534b15f21b032656e", | ||||||
|  |     "info_dict":{ | ||||||
|  |       "title": "Louis C.K. Interview Pt. 1 11/3/11", | ||||||
|  |       "description": "Louis C.K. got starstruck by George W. Bush, so what? Part one." | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| ] | ] | ||||||
|  | |||||||
| @ -4341,6 +4341,51 @@ class FlickrIE(InfoExtractor): | |||||||
|             'uploader_id': video_uploader_id, |             'uploader_id': video_uploader_id, | ||||||
|         }] |         }] | ||||||
| 
 | 
 | ||||||
|  | class TeamcocoIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'http://teamcoco\.com/video/(?P<url_title>.*)' | ||||||
|  | 
 | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Invalid URL: %s' % url) | ||||||
|  |         url_title = mobj.group('url_title') | ||||||
|  |         webpage = self._download_webpage(url, url_title) | ||||||
|  | 
 | ||||||
|  |         mobj = re.search(r'<article class="video" data-id="(\d+?)"', webpage) | ||||||
|  |         video_id = mobj.group(1) | ||||||
|  | 
 | ||||||
|  |         self.report_extraction(video_id) | ||||||
|  | 
 | ||||||
|  |         mobj = re.search(r'<meta property="og:title" content="(.+?)"', webpage) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Unable to extract title') | ||||||
|  |         video_title = mobj.group(1) | ||||||
|  | 
 | ||||||
|  |         mobj = re.search(r'<meta property="og:image" content="(.+?)"', webpage) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Unable to extract thumbnail') | ||||||
|  |         thumbnail = mobj.group(1) | ||||||
|  | 
 | ||||||
|  |         mobj = re.search(r'<meta property="og:description" content="(.*?)"', webpage) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Unable to extract description') | ||||||
|  |         description = mobj.group(1) | ||||||
|  | 
 | ||||||
|  |         data_url = 'http://teamcoco.com/cvp/2.0/%s.xml' % video_id | ||||||
|  |         data = self._download_webpage(data_url, video_id, 'Downloading data webpage') | ||||||
|  |         mobj = re.search(r'<file type="high".*?>(.*?)</file>', data) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Unable to extract video url') | ||||||
|  |         video_url = mobj.group(1) | ||||||
|  | 
 | ||||||
|  |         return [{ | ||||||
|  |             'id':          video_id, | ||||||
|  |             'url':         video_url, | ||||||
|  |             'ext':         'mp4', | ||||||
|  |             'title':       video_title, | ||||||
|  |             'thumbnail':   thumbnail, | ||||||
|  |             'description': description, | ||||||
|  |         }] | ||||||
| 
 | 
 | ||||||
| def gen_extractors(): | def gen_extractors(): | ||||||
|     """ Return a list of an instance of every supported extractor. |     """ Return a list of an instance of every supported extractor. | ||||||
| @ -4402,6 +4447,7 @@ def gen_extractors(): | |||||||
|         HowcastIE(), |         HowcastIE(), | ||||||
|         VineIE(), |         VineIE(), | ||||||
|         FlickrIE(), |         FlickrIE(), | ||||||
|  |         TeamcocoIE(), | ||||||
|         GenericIE() |         GenericIE() | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user