]>
jfr.im git - yt-dlp.git/blob - youtube_dlc/extractor/skyitalia.py
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
5 from ..utils
import ExtractorError
8 class SkyItaliaBaseIE(InfoExtractor
):
9 _GET_VIDEO_DATA
= 'https://apid.sky.it/vdp/v1/getVideoData?token={token}&caller=sky&rendition=web&id={id}'
17 def _extract_video_id(self
, url
):
18 webpage
= self
._download
_webpage
(url
, 'skyitalia')
19 video_id
= self
._html
_search
_regex
(
20 [r
'data-videoid=\"(\d+)\"',
21 r
'http://player\.sky\.it/social\?id=(\d+)\&'],
25 raise ExtractorError('Video ID not found.')
27 def _get_formats(self
, video_id
, token
):
28 data_url
= self
._GET
_VIDEO
_DATA
.replace('{id}', video_id
)
29 data_url
= data_url
.replace('{token}', token
)
30 video_data
= self
._parse
_json
(
31 self
._download
_webpage
(data_url
, video_id
),
35 for q
, r
in self
._RES
.items():
36 key
= 'web_' + q
+ '_url'
37 if key
not in video_data
:
40 'url': video_data
[key
],
46 self
._sort
_formats
(formats
)
47 title
= video_data
.get('title')
48 thumb
= video_data
.get('thumb')
57 def _real_extract(self
, url
):
58 video_id
= self
._match
_id
(url
)
59 if video_id
== 'None':
60 video_id
= self
._extract
_video
_id
(url
)
61 return self
._get
_formats
(video_id
, self
._TOKEN
)
64 class SkyItaliaIE(SkyItaliaBaseIE
):
66 _VALID_URL
= r
'''(?x)https?://
67 (?P<ie>sport|tg24|video)
73 'url': 'https://video.sky.it/sport/motogp/video/motogp-gp-emilia-romagna-highlights-prove-libere-616162',
74 'md5': '9c03b590b06e5952d8051f0e02b0feca',
78 'title': 'MotoGP, GP Emilia Romagna: gli highlights delle prove libere',
79 'thumbnail': 'https://videoplatform.sky.it/thumbnail/2020/09/18/1600441214452_hl-libere-motogp-misano2_5602634_thumbnail_1.jpg',
82 'url': 'https://sport.sky.it/motogp/2020/09/18/motogp-gp-emilia-romagna-misano-2020-prove-libere-diretta',
83 'md5': '9c03b590b06e5952d8051f0e02b0feca',
87 'title': 'MotoGP, GP Emilia Romagna: gli highlights delle prove libere',
88 'thumbnail': 'https://videoplatform.sky.it/thumbnail/2020/09/18/1600441214452_hl-libere-motogp-misano2_5602634_thumbnail_1.jpg',
91 'url': 'https://tg24.sky.it/salute-e-benessere/2020/09/18/coronavirus-vaccino-ue-sanofi',
92 'md5': 'caa25e62dadb529bc5e0b078da99f854',
96 'title': 'Covid-19, al Buzzi di Milano tamponi drive-in per studenti',
97 'thumbnail': 'https://videoplatform.sky.it/thumbnail/2020/09/17/1600351405841_error-coronavirus-al-buzzi-di-milano-tamponi_thumbnail_1.jpg',
100 'url': 'https://video.sky.it/sport/motogp/video/motogp-gp-emilia-romagna-highlights-prove-libere-616162?itm_source=parsely-api',
101 'only_matching': True,
103 _TOKEN
= 'F96WlOd8yoFmLQgiqv6fNQRvHZcsWk5jDaYnDvhbiJk'
106 class SkyArteItaliaIE(SkyItaliaBaseIE
):
107 IE_NAME
= 'arte.sky.it'
108 _VALID_URL
= r
'https?://arte\.sky\.it/video/.+?(?P<id>[0-9]{6})?$'
110 'url': 'https://arte.sky.it/video/federico-fellini-maestri-cinema/',
111 'md5': '2f22513a89f45142f2746f878d690647',
115 'title': 'I maestri del cinema Federico Felini',
116 'thumbnail': 'https://videoplatform.sky.it/thumbnail/2020/09/03/1599146747305_i-maestri-del-cinema-federico-felini_thumbnail_1.jpg',
119 _TOKEN
= 'LWk29hfiU39NNdq87ePeRach3nzTSV20o0lTv2001Cd'