]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/sportbox.py
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
  14 class SportBoxEmbedIE(InfoExtractor
): 
  15     _VALID_URL 
= r
'https?://news\.sportbox\.ru/vdl/player(?:/[^/]+/|\?.*?\bn?id=)(?P<id>\d+)' 
  17         'url': 'http://news.sportbox.ru/vdl/player/ci/211355', 
  22             'thumbnail': r
're:^https?://.*\.jpg$', 
  28             'skip_download': True, 
  31         'url': 'http://news.sportbox.ru/vdl/player?nid=370908&only_player=1&autostart=false&playeri=2&height=340&width=580', 
  32         'only_matching': True, 
  34         'url': 'https://news.sportbox.ru/vdl/player/media/193095', 
  35         'only_matching': True, 
  39     def _extract_urls(webpage
): 
  41             r
'<iframe[^>]+src="(https?://news\.sportbox\.ru/vdl/player[^"]+)"', 
  44     def _real_extract(self
, url
): 
  45         video_id 
= self
._match
_id
(url
) 
  47         webpage 
= self
._download
_webpage
(url
, video_id
) 
  49         wjplayer_data 
= self
._parse
_json
( 
  51                 r
'(?s)wjplayer\(({.+?})\);', webpage
, 'wjplayer settings'), 
  52             video_id
, transform_source
=js_to_json
) 
  55         for source 
in wjplayer_data
['sources']: 
  56             src 
= source
.get('src') 
  59             if determine_ext(src
) == 'm3u8': 
  60                 formats
.extend(self
._extract
_m
3u8_formats
( 
  61                     src
, video_id
, 'mp4', entry_protocol
='m3u8_native', 
  62                     m3u8_id
='hls', fatal
=False)) 
  67         self
._sort
_formats
(formats
) 
  69         view_count 
= int_or_none(self
._search
_regex
( 
  70             r
'Просмотров\s*:\s*(\d+)', webpage
, 'view count', default
=None)) 
  75             'thumbnail': wjplayer_data
.get('poster'), 
  76             'duration': int_or_none(wjplayer_data
.get('duration')), 
  77             'view_count': view_count
,