-from __future__ import unicode_literals
-
-
from .common import InfoExtractor
class MediaiteIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?mediaite.com/(?:tv|sports|politics|podcasts|opinion)/[\w-]+/'
+ _VALID_URL = r'https?://(?:www\.)?mediaite\.com(?!/category)(?:/[\w-]+){2}'
_TESTS = [{
'url': 'https://www.mediaite.com/sports/bill-burr-roasts-nfl-for-promoting-black-lives-matter-while-scheduling-more-games-after-all-the-sht-they-know-about-cte/',
'info_dict': {
'upload_date': '20210913',
},
'params': {'skip_download': True}
+ }, {
+ 'url': 'https://www.mediaite.com/news/watch-cnbcs-jim-cramer-says-nobody-wants-to-die-getting-infected-by-unvaccinated-coworker-even-for-22-an-hour/',
+ 'info_dict': {
+ 'id': 'nwpt1elX',
+ 'ext': 'mp4',
+ 'title': "CNBC's Jim Cramer Says Nobody Wants to Die Getting Infected by Unvaccinated Coworker 'Even for $22 an Hour'.mp4",
+ 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e',
+ 'thumbnail': 'https://cdn.jwplayer.com/v2/media/nwpt1elX/poster.jpg?width=720',
+ 'duration': 60,
+ 'timestamp': 1633014214,
+ 'upload_date': '20210930',
+ },
+ 'params': {'skip_download': True}
+ }, {
+ 'url': 'https://www.mediaite.com/politics/i-cant-read-it-fast-enough-while-defending-trump-larry-kudlow-overwhelmed-by-volume-of-ex-presidents-legal-troubles/',
+ 'info_dict': {
+ 'id': 'E6EhDX5z',
+ 'ext': 'mp4',
+ 'title': 'Fox Business Network - 4:00 PM - 5:00 PM - 1:39:42 pm - 1:42:20 pm',
+ 'description': '',
+ 'thumbnail': 'https://cdn.jwplayer.com/v2/media/E6EhDX5z/poster.jpg?width=720',
+ 'duration': 157,
+ 'timestamp': 1691015535,
+ 'upload_date': '20230802',
+ },
+ 'params': {'skip_download': True}
}]
def _real_extract(self, url):
webpage = self._download_webpage(url, None)
- id = self._search_regex(r'data-video-id\s?=\s?\"([^\"]+)\"', webpage, 'id')
- data_json = self._download_json(f'https://cdn.jwplayer.com/v2/media/{id}', id)
+ video_id = self._search_regex(
+ [r'"https://cdn\.jwplayer\.com/players/(\w+)', r'data-video-id\s*=\s*\"([^\"]+)\"'], webpage, 'id')
+ data_json = self._download_json(f'https://cdn.jwplayer.com/v2/media/{video_id}', video_id)
return self._parse_jwplayer_data(data_json)