[shahid] Add new extractor
This commit is contained in:
		| @@ -502,6 +502,7 @@ from .senateisvp import SenateISVPIE | |||||||
| from .servingsys import ServingSysIE | from .servingsys import ServingSysIE | ||||||
| from .sexu import SexuIE | from .sexu import SexuIE | ||||||
| from .sexykarma import SexyKarmaIE | from .sexykarma import SexyKarmaIE | ||||||
|  | from .shahid import ShahidIE | ||||||
| from .shared import SharedIE | from .shared import SharedIE | ||||||
| from .sharesix import ShareSixIE | from .sharesix import ShareSixIE | ||||||
| from .sina import SinaIE | from .sina import SinaIE | ||||||
|   | |||||||
							
								
								
									
										56
									
								
								youtube_dl/extractor/shahid.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								youtube_dl/extractor/shahid.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | |||||||
|  | from .common import InfoExtractor | ||||||
|  | from ..utils import get_element_by_id | ||||||
|  |  | ||||||
|  | class ShahidIE(InfoExtractor): | ||||||
|  |     _VALID_URL = r'https?://shahid\.mbc\.net/ar/episode/(?P<id>\d+)/?' | ||||||
|  |     _TESTS = [ | ||||||
|  |         { | ||||||
|  |             'url': 'https://shahid.mbc.net/ar/episode/108084/%D8%AE%D9%88%D8%A7%D8%B7%D8%B1-%D8%A7%D9%84%D9%85%D9%88%D8%B3%D9%85-11-%D8%A7%D9%84%D8%AD%D9%84%D9%82%D8%A9-1.html', | ||||||
|  |             'info_dict': { | ||||||
|  |                 'id': '108084', | ||||||
|  |                 'ext': 'm3u8', | ||||||
|  |                 'title': 'بسم الله', | ||||||
|  |                 'description': 'بسم الله' | ||||||
|  |             }, | ||||||
|  |             'params': { | ||||||
|  |                 # m3u8 download | ||||||
|  |                 'skip_download': True, | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             #shahid plus subscriber only | ||||||
|  |             'url': 'https://shahid.mbc.net/ar/series/90497/%D9%85%D8%B1%D8%A7%D9%8A%D8%A7-2011.html', | ||||||
|  |             'only_matching': True | ||||||
|  |         } | ||||||
|  |     ] | ||||||
|  |  | ||||||
|  |     def _real_extract(self, url): | ||||||
|  |         video_id = self._match_id(url) | ||||||
|  |         webpage = self._download_webpage(url, video_id) | ||||||
|  |         json_data = self._parse_json( | ||||||
|  |             get_element_by_id('jsonld', webpage), | ||||||
|  |             video_id | ||||||
|  |         ) | ||||||
|  |         title = json_data['name'] | ||||||
|  |         thumbnail = json_data['image'] | ||||||
|  |         categories = json_data['genre'] | ||||||
|  |         description = json_data['description'] | ||||||
|  |         player_json_data = self._download_json( | ||||||
|  |             'https://shahid.mbc.net/arContent/getPlayerContent-param-.id-'+video_id+'.type-player.html', | ||||||
|  |             video_id | ||||||
|  |         )['data'] | ||||||
|  |         if 'url' in player_json_data: | ||||||
|  |             m3u8_url = player_json_data['url'] | ||||||
|  |         else: | ||||||
|  |             for error in json_data['error'].values(): | ||||||
|  |                 self.report_warning(error) | ||||||
|  |             return | ||||||
|  |         formats = self._extract_m3u8_formats(m3u8_url, video_id) | ||||||
|  |         return { | ||||||
|  |             'id': video_id, | ||||||
|  |             'title': title, | ||||||
|  |             'thumbnail': thumbnail, | ||||||
|  |             'categories': categories, | ||||||
|  |             'description': description, | ||||||
|  |             'formats': formats, | ||||||
|  |         } | ||||||
		Reference in New Issue
	
	Block a user
	 remitamine
					remitamine