mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[savefrom] Add extractor (Fixes #2434)
This commit is contained in:
		| @@ -186,6 +186,7 @@ from .rutube import ( | |||||||
|     RutubeMovieIE, |     RutubeMovieIE, | ||||||
|     RutubePersonIE, |     RutubePersonIE, | ||||||
| ) | ) | ||||||
|  | from .savefrom import SaveFromIE | ||||||
| from .servingsys import ServingSysIE | from .servingsys import ServingSysIE | ||||||
| from .sina import SinaIE | from .sina import SinaIE | ||||||
| from .slashdot import SlashdotIE | from .slashdot import SlashdotIE | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								youtube_dl/extractor/savefrom.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								youtube_dl/extractor/savefrom.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | # coding: utf-8 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | import os.path | ||||||
|  | import re | ||||||
|  |  | ||||||
|  | from .common import InfoExtractor | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class SaveFromIE(InfoExtractor): | ||||||
|  |     IE_NAME = 'savefrom.net' | ||||||
|  |     _VALID_URL = r'https?://[^.]+\.savefrom\.net/\#url=(?P<url>.*)$' | ||||||
|  |  | ||||||
|  |     _TEST = { | ||||||
|  |         'url': 'http://en.savefrom.net/#url=http://youtube.com/watch?v=UlVRAPW2WJY&utm_source=youtube.com&utm_medium=short_domains&utm_campaign=ssyoutube.com', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'UlVRAPW2WJY', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': 'About Team Radical MMA | MMA Fighting', | ||||||
|  |             'upload_date': '20120816', | ||||||
|  |             'uploader': 'Howcast', | ||||||
|  |             'uploader_id': 'Howcast', | ||||||
|  |             'description': 'md5:4f0aac94361a12e1ce57d74f85265175', | ||||||
|  |         }, | ||||||
|  |         'params': { | ||||||
|  |             'skip_download': True | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |         video_id = os.path.splitext(url.split('/')[-1])[0] | ||||||
|  |         return { | ||||||
|  |             '_type': 'url', | ||||||
|  |             'id': video_id, | ||||||
|  |             'url': mobj.group('url'), | ||||||
|  |         } | ||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister