]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/telegraaf.py
9092e9b853637d14d54a2c15c524b12e35e91a30
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': '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'))
52 # TODO: Current DASH formats are broken - $Time$ pattern in
53 # <SegmentTemplate> not implemented yet
56 self
.report_warning('Unknown adaptive format %s' % ext
)
57 for location
in locations
.get('progressive', []):
59 'url': location
['sources'][0]['src'],
60 'width': location
.get('width'),
61 'height': location
.get('height'),
62 'format_id': 'http-%s' % location
['label'],
65 self
._sort
_formats
(formats
)
67 title
= remove_end(self
._og
_search
_title
(webpage
), ' - VIDEO')
68 description
= self
._og
_search
_description
(webpage
)
69 duration
= item
.get('duration')
70 thumbnail
= item
.get('poster')
75 'description': description
,
78 'thumbnail': thumbnail
,