mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Add an extractor for freespeech.org (closes #2234)
This commit is contained in:
		| @@ -72,6 +72,7 @@ from .francetv import ( | ||||
|     CultureboxIE, | ||||
| ) | ||||
| from .freesound import FreesoundIE | ||||
| from .freespeech import FreespeechIE | ||||
| from .funnyordie import FunnyOrDieIE | ||||
| from .gamekings import GamekingsIE | ||||
| from .gamespot import GameSpotIE | ||||
|   | ||||
							
								
								
									
										37
									
								
								youtube_dl/extractor/freespeech.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								youtube_dl/extractor/freespeech.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import re | ||||
| import json | ||||
|  | ||||
| from .common import InfoExtractor | ||||
|  | ||||
|  | ||||
| class FreespeechIE(InfoExtractor): | ||||
|     IE_NAME = 'freespeech.org' | ||||
|     _VALID_URL = r'https://www.freespeech.org/video/(?P<title>.+)' | ||||
|     _TEST = { | ||||
|         'add_ie': ['Youtube'], | ||||
|         'url': 'https://www.freespeech.org/video/obama-romney-campaign-colorado-ahead-debate-0', | ||||
|         'info_dict': { | ||||
|             'id': 'poKsVCZ64uU', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Obama, Romney Campaign in Colorado Ahead of Debate', | ||||
|             'description': 'Obama, Romney Campaign in Colorado Ahead of Debate', | ||||
|             'uploader': 'freespeechtv', | ||||
|             'uploader_id': 'freespeechtv', | ||||
|             'upload_date': '20121002', | ||||
|         }, | ||||
|     } | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         mobj = re.match(self._VALID_URL, url) | ||||
|         title = mobj.group('title') | ||||
|         webpage = self._download_webpage(url, title) | ||||
|         info_json = self._search_regex(r'jQuery.extend\(Drupal.settings, ({.*?})\);', webpage, 'info') | ||||
|         info = json.loads(info_json) | ||||
|  | ||||
|         return { | ||||
|             '_type': 'url', | ||||
|             'url': info['jw_player']['basic_video_node_player']['file'], | ||||
|             'ie_key': 'Youtube', | ||||
|         } | ||||
		Reference in New Issue
	
	Block a user