]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/dplay.py
2 from __future__
import unicode_literals
6 from .common
import InfoExtractor
7 from ..utils
import int_or_none
10 class DPlayIE(InfoExtractor
):
11 _VALID_URL
= r
'http://www\.dplay\.se/[^/]+/(?P<id>[^/?#]+)'
14 'url': 'http://www.dplay.se/nugammalt-77-handelser-som-format-sverige/season-1-svensken-lar-sig-njuta-av-livet/',
18 'display_id': 'season-1-svensken-lar-sig-njuta-av-livet',
19 'title': 'Svensken lär sig njuta av livet',
24 def _real_extract(self
, url
):
25 display_id
= self
._match
_id
(url
)
26 webpage
= self
._download
_webpage
(url
, display_id
)
27 video_id
= self
._search
_regex
(
28 r
'data-video-id="(\d+)"', webpage
, 'video id')
30 info
= self
._download
_json
(
31 'http://www.dplay.se/api/v2/ajax/videos?video_id=' + video_id
,
35 'secure.dplay.se', 'dsc-geo',
36 '{"countryCode":"NL","expiry":%d}' % ((time
.time() + 20 * 60) * 1000))
37 # TODO: consider adding support for 'stream_type=hds', it seems to
38 # require setting some cookies
39 manifest_url
= self
._download
_json
(
40 'https://secure.dplay.se/secure/api/v2/user/authorization/stream/%s?stream_type=hls' % video_id
,
41 video_id
, 'Getting manifest url for hls stream')['hls']
42 formats
= self
._extract
_m
3u8_formats
(
43 manifest_url
, video_id
, ext
='mp4', entry_protocol
='m3u8_native')
47 'display_id': display_id
,
48 'title': info
['title'],
50 'duration': int_or_none(info
.get('video_metadata_length'), scale
=1000),