mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[LiveLeak] move into own file
This commit is contained in:
		| @@ -36,6 +36,7 @@ from .extractor.googlesearch import GoogleSearchIE | |||||||
| from .extractor.infoq import InfoQIE | from .extractor.infoq import InfoQIE | ||||||
| from .extractor.justintv import JustinTVIE | from .extractor.justintv import JustinTVIE | ||||||
| from .extractor.keek import KeekIE | from .extractor.keek import KeekIE | ||||||
|  | from .extractor.liveleak import LiveLeakIE | ||||||
| from .extractor.metacafe import MetacafeIE | from .extractor.metacafe import MetacafeIE | ||||||
| from .extractor.mixcloud import MixcloudIE | from .extractor.mixcloud import MixcloudIE | ||||||
| from .extractor.mtv import MTVIE | from .extractor.mtv import MTVIE | ||||||
| @@ -92,42 +93,6 @@ from .extractor.zdf import ZDFIE | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class LiveLeakIE(InfoExtractor): |  | ||||||
|  |  | ||||||
|     _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)' |  | ||||||
|     IE_NAME = u'liveleak' |  | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |  | ||||||
|         mobj = re.match(self._VALID_URL, url) |  | ||||||
|         if mobj is None: |  | ||||||
|             raise ExtractorError(u'Invalid URL: %s' % url) |  | ||||||
|  |  | ||||||
|         video_id = mobj.group('video_id') |  | ||||||
|  |  | ||||||
|         webpage = self._download_webpage(url, video_id) |  | ||||||
|  |  | ||||||
|         video_url = self._search_regex(r'file: "(.*?)",', |  | ||||||
|             webpage, u'video URL') |  | ||||||
|  |  | ||||||
|         video_title = self._html_search_regex(r'<meta property="og:title" content="(?P<title>.*?)"', |  | ||||||
|             webpage, u'title').replace('LiveLeak.com -', '').strip() |  | ||||||
|  |  | ||||||
|         video_description = self._html_search_regex(r'<meta property="og:description" content="(?P<desc>.*?)"', |  | ||||||
|             webpage, u'description', fatal=False) |  | ||||||
|  |  | ||||||
|         video_uploader = self._html_search_regex(r'By:.*?(\w+)</a>', |  | ||||||
|             webpage, u'uploader', fatal=False) |  | ||||||
|  |  | ||||||
|         info = { |  | ||||||
|             'id':  video_id, |  | ||||||
|             'url': video_url, |  | ||||||
|             'ext': 'mp4', |  | ||||||
|             'title': video_title, |  | ||||||
|             'description': video_description, |  | ||||||
|             'uploader': video_uploader |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return [info] |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										44
									
								
								youtube_dl/extractor/liveleak.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								youtube_dl/extractor/liveleak.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | import re | ||||||
|  |  | ||||||
|  | from .common import InfoExtractor | ||||||
|  | from ..utils import ( | ||||||
|  |     ExtractorError, | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class LiveLeakIE(InfoExtractor): | ||||||
|  |  | ||||||
|  |     _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)' | ||||||
|  |     IE_NAME = u'liveleak' | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         mobj = re.match(self._VALID_URL, url) | ||||||
|  |         if mobj is None: | ||||||
|  |             raise ExtractorError(u'Invalid URL: %s' % url) | ||||||
|  |  | ||||||
|  |         video_id = mobj.group('video_id') | ||||||
|  |  | ||||||
|  |         webpage = self._download_webpage(url, video_id) | ||||||
|  |  | ||||||
|  |         video_url = self._search_regex(r'file: "(.*?)",', | ||||||
|  |             webpage, u'video URL') | ||||||
|  |  | ||||||
|  |         video_title = self._html_search_regex(r'<meta property="og:title" content="(?P<title>.*?)"', | ||||||
|  |             webpage, u'title').replace('LiveLeak.com -', '').strip() | ||||||
|  |  | ||||||
|  |         video_description = self._html_search_regex(r'<meta property="og:description" content="(?P<desc>.*?)"', | ||||||
|  |             webpage, u'description', fatal=False) | ||||||
|  |  | ||||||
|  |         video_uploader = self._html_search_regex(r'By:.*?(\w+)</a>', | ||||||
|  |             webpage, u'uploader', fatal=False) | ||||||
|  |  | ||||||
|  |         info = { | ||||||
|  |             'id':  video_id, | ||||||
|  |             'url': video_url, | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'title': video_title, | ||||||
|  |             'description': video_description, | ||||||
|  |             'uploader': video_uploader | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return [info] | ||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister