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, |     CultureboxIE, | ||||||
| ) | ) | ||||||
| from .freesound import FreesoundIE | from .freesound import FreesoundIE | ||||||
|  | from .freespeech import FreespeechIE | ||||||
| from .funnyordie import FunnyOrDieIE | from .funnyordie import FunnyOrDieIE | ||||||
| from .gamekings import GamekingsIE | from .gamekings import GamekingsIE | ||||||
| from .gamespot import GameSpotIE | 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