]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/telegraaf.py
0f576c1aba1a01491f657d8d892291cfe7934f21
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
11 class TelegraafIE(InfoExtractor
):
12 _VALID_URL
= r
'https?://(?:www\.)?telegraaf\.nl/tv/(?:[^/]+/)+(?P<id>\d+)/[^/]+\.html'
14 'url': 'http://www.telegraaf.nl/tv/nieuws/binnenland/24353229/__Tikibad_ontruimd_wegens_brand__.html',
18 'title': 'Tikibad ontruimd wegens brand',
19 'description': 'md5:05ca046ff47b931f9b04855015e163a4',
20 'thumbnail': r
're:^https?://.*\.jpg$',
25 'skip_download': True,
29 def _real_extract(self
, url
):
30 video_id
= self
._match
_id
(url
)
32 webpage
= self
._download
_webpage
(url
, video_id
)
34 player_url
= self
._html
_search
_regex
(
35 r
'<iframe[^>]+src="([^"]+")', webpage
, 'player URL')
36 player_page
= self
._download
_webpage
(
37 player_url
, video_id
, note
='Download player webpage')
38 playlist_url
= self
._search
_regex
(
39 r
'playlist\s*:\s*"([^"]+)"', player_page
, 'playlist URL')
40 playlist_data
= self
._download
_json
(playlist_url
, video_id
)
42 item
= playlist_data
['items'][0]
44 locations
= item
['locations']
45 for location
in locations
.get('adaptive', []):
46 manifest_url
= location
['src']
47 ext
= determine_ext(manifest_url
)
49 formats
.extend(self
._extract
_m
3u8_formats
(
50 manifest_url
, video_id
, ext
='mp4', m3u8_id
='hls', fatal
=False))
52 formats
.extend(self
._extract
_mpd
_formats
(
53 manifest_url
, video_id
, mpd_id
='dash', fatal
=False))
55 self
.report_warning('Unknown adaptive format %s' % ext
)
56 for location
in locations
.get('progressive', []):
58 'url': location
['sources'][0]['src'],
59 'width': location
.get('width'),
60 'height': location
.get('height'),
61 'format_id': 'http-%s' % location
['label'],
64 self
._sort
_formats
(formats
)
66 title
= remove_end(self
._og
_search
_title
(webpage
), ' - VIDEO')
67 description
= self
._og
_search
_description
(webpage
)
68 duration
= item
.get('duration')
69 thumbnail
= item
.get('poster')
74 'description': description
,
77 'thumbnail': thumbnail
,