[shahid] Add new extractor
This commit is contained in:
		| @@ -502,6 +502,7 @@ from .senateisvp import SenateISVPIE | ||||
| from .servingsys import ServingSysIE | ||||
| from .sexu import SexuIE | ||||
| from .sexykarma import SexyKarmaIE | ||||
| from .shahid import ShahidIE | ||||
| from .shared import SharedIE | ||||
| from .sharesix import ShareSixIE | ||||
| 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