You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yt-dlp/yt_dlp/extractor/mirrorcouk.py

99 lines
4.3 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from .common import InfoExtractor
from ..utils import unescapeHTML
class MirrorCoUKIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?mirror\.co\.uk/[/+[\w-]+-(?P<id>\d+)'
_TESTS = [{
'url': 'https://www.mirror.co.uk/tv/tv-news/love-island-fans-baffled-after-27163139',
'info_dict': {
'id': 'voyyS7SV',
'ext': 'mp4',
'title': 'Love Island: Gemma Owen enters the villa',
'description': 'Love Island: Michael Owen\'s daughter Gemma Owen enters the villa.',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/voyyS7SV/poster.jpg?width=720',
'display_id': '27163139',
'timestamp': 1654547895,
'duration': 57.0,
'upload_date': '20220606',
},
}, {
'url': 'https://www.mirror.co.uk/3am/celebrity-news/michael-jacksons-son-blankets-new-25344890',
'info_dict': {
'id': 'jyXpdvxp',
'ext': 'mp4',
'title': 'Michael Jacksons son Bigi calls for action on climate change',
'description': 'md5:d39ceaba2b7a615b4ca6557e7bc40222',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/jyXpdvxp/poster.jpg?width=720',
'display_id': '25344890',
'timestamp': 1635749907,
'duration': 56.0,
'upload_date': '20211101',
},
}, {
'url': 'https://www.mirror.co.uk/sport/football/news/antonio-conte-next-tottenham-manager-25346042',
'info_dict': {
'id': 'q6FkKa4p',
'ext': 'mp4',
'title': 'Nuno sacked by Tottenham after fifth Premier League defeat of the season',
'description': 'Nuno Espirito Santo has been sacked as Tottenham boss after only four months in charge.',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/q6FkKa4p/poster.jpg?width=720',
'display_id': '25346042',
'timestamp': 1635763157,
'duration': 40.0,
'upload_date': '20211101',
},
}, {
'url': 'https://www.mirror.co.uk/3am/celebrity-news/johnny-depp-splashes-50k-curry-27160737',
'info_dict': {
'id': 'IT0oa1nH',
'ext': 'mp4',
'title': 'Johnny Depp Leaves The Grand Hotel in Birmingham',
'description': 'Johnny Depp Leaves The Grand Hotel in Birmingham.',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/IT0oa1nH/poster.jpg?width=720',
'display_id': '27160737',
'timestamp': 1654524120,
'duration': 65.0,
'upload_date': '20220606',
},
}, {
'url': 'https://www.mirror.co.uk/tv/tv-news/love-islands-liam-could-first-27162602',
'info_dict': {
'id': 'EaPr5Z2j',
'ext': 'mp4',
'title': 'Love Island: Davide reveals plot twist after receiving text',
'description': 'Love Island: Davide reveals plot twist after receiving text',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/EaPr5Z2j/poster.jpg?width=720',
'display_id': '27162602',
'timestamp': 1654552597,
'duration': 23.0,
'upload_date': '20220606',
},
}, {
'url': 'https://www.mirror.co.uk/news/uk-news/william-kate-sent-message-george-27160572',
'info_dict': {
'id': 'ygtceXIu',
'ext': 'mp4',
'title': 'Prince William and Kate arrive in Wales with George and Charlotte',
'description': 'Prince William and Kate Middleton arrive in Wales with children Prince George and Princess Charlotte.',
'thumbnail': 'https://cdn.jwplayer.com/v2/media/ygtceXIu/poster.jpg?width=720',
'display_id': '27160572',
'timestamp': 1654349678,
'duration': 106.0,
'upload_date': '20220604',
},
}]
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
data = self._search_json(r'div\s+class="json-placeholder"\s+data-json="',
webpage, 'data', display_id, transform_source=unescapeHTML)['videoData']
return {
'_type': 'url_transparent',
'url': f'jwplatform:{data["videoId"]}',
'ie_key': 'JWPlatform',
'display_id': display_id,
}