[Soundgasm] Add new extractor
This commit is contained in:
		
							parent
							
								
									fd69098a45
								
							
						
					
					
						commit
						1044f8afd2
					
				| @ -255,6 +255,7 @@ from .soundcloud import ( | |||||||
|     SoundcloudUserIE, |     SoundcloudUserIE, | ||||||
|     SoundcloudPlaylistIE |     SoundcloudPlaylistIE | ||||||
| ) | ) | ||||||
|  | from .soundgasm import SoundgasmIE | ||||||
| from .southparkstudios import ( | from .southparkstudios import ( | ||||||
|     SouthParkStudiosIE, |     SouthParkStudiosIE, | ||||||
|     SouthparkDeIE, |     SouthparkDeIE, | ||||||
|  | |||||||
							
								
								
									
										34
									
								
								youtube_dl/extractor/soundgasm.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								youtube_dl/extractor/soundgasm.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | # coding: utf-8 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | import re | ||||||
|  | 
 | ||||||
|  | from .common import InfoExtractor | ||||||
|  | 
 | ||||||
|  | class SoundgasmIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'https?://(?:www\.)?soundgasm\.net/u/(?P<user>[0-9a-zA-Z_\-]+)/(?P<title>[0-9a-zA-Z_\-]+)' | ||||||
|  |     _TEST = { | ||||||
|  |         'url': 'http://soundgasm.net/u/ytdl/Piano-sample', | ||||||
|  |         'md5': '010082a2c802c5275bb00030743e75ad', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': '88abd86ea000cafe98f96321b23cc1206cbcbcc9', | ||||||
|  |             'ext': 'm4a', | ||||||
|  |             'title': 'ytdl_Piano-sample', | ||||||
|  |             'description': 'Royalty Free Sample Music' | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |         audio_title = mobj.group('user') + '_' + mobj.group('title') | ||||||
|  |         webpage = self._download_webpage(url, '') | ||||||
|  |         audio_url = self._html_search_regex(r'(?s)m4a\:\s"([^"]+)"', webpage, 'audio URL') | ||||||
|  |         audio_id = re.split('\/|\.', audio_url)[-2] | ||||||
|  |         description = self._html_search_regex(r'(?s)<li>Description:\s(.*?)<\/li>', webpage, 'description', fatal=False, flags=re.DOTALL) | ||||||
|  | 
 | ||||||
|  |         return { | ||||||
|  |             'id': audio_id, | ||||||
|  |             'url': audio_url, | ||||||
|  |             'title': audio_title, | ||||||
|  |             'description': description | ||||||
|  |         } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user