1 from .common import InfoExtractor
2 from ..utils import get_element_by_id
4 class ShahidIE(InfoExtractor):
5 _VALID_URL = r'https?://shahid\.mbc\.net/ar/episode/(?P<id>\d+)/?'
8 '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',
13 'description': 'بسم الله'
17 'skip_download': True,
21 #shahid plus subscriber only
22 'url': 'https://shahid.mbc.net/ar/series/90497/%D9%85%D8%B1%D8%A7%D9%8A%D8%A7-2011.html',
27 def _real_extract(self, url):
28 video_id = self._match_id(url)
29 webpage = self._download_webpage(url, video_id)
30 json_data = self._parse_json(
31 get_element_by_id('jsonld', webpage),
34 title = json_data['name']
35 thumbnail = json_data['image']
36 categories = json_data['genre']
37 description = json_data['description']
38 player_json_data = self._download_json(
39 'https://shahid.mbc.net/arContent/getPlayerContent-param-.id-'+video_id+'.type-player.html',
42 if 'url' in player_json_data:
43 m3u8_url = player_json_data['url']
45 for error in json_data['error'].values():
46 self.report_warning(error)
48 formats = self._extract_m3u8_formats(m3u8_url, video_id)
52 'thumbnail': thumbnail,
53 'categories': categories,
54 'description': description,