]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/bloomberg.py
   1 from __future__ 
import unicode_literals
 
   5 from .common 
import InfoExtractor
 
   8 class BloombergIE(InfoExtractor
): 
   9     _VALID_URL 
= r
'https?://www\.bloomberg\.com/news/videos/[^/]+/(?P<id>[^/?#]+)' 
  12         'url': 'http://www.bloomberg.com/news/videos/b/aaeae121-5949-481e-a1ce-4562db6f5df2', 
  13         # The md5 checksum changes 
  15             'id': 'qurhIVlJSB6hzkVi229d8g', 
  17             'title': 'Shah\'s Presentation on Foreign-Exchange Strategies', 
  18             'description': 'md5:a8ba0302912d03d246979735c17d2761', 
  22     def _real_extract(self
, url
): 
  23         name 
= self
._match
_id
(url
) 
  24         webpage 
= self
._download
_webpage
(url
, name
) 
  25         video_id 
= self
._search
_regex
(r
'"bmmrId":"(.+?)"', webpage
, 'id') 
  26         title 
= re
.sub(': Video$', '', self
._og
_search
_title
(webpage
)) 
  28         embed_info 
= self
._download
_json
( 
  29             'http://www.bloomberg.com/api/embed?id=%s' % video_id
, video_id
) 
  31         for stream 
in embed_info
['streams']: 
  32             if stream
["muxing_format"] == "TS": 
  33                 formats
.extend(self
._extract
_m
3u8_formats
(stream
['url'], video_id
)) 
  35                 formats
.extend(self
._extract
_f
4m
_formats
(stream
['url'], video_id
)) 
  36         self
._sort
_formats
(formats
) 
  42             'description': self
._og
_search
_description
(webpage
), 
  43             'thumbnail': self
._og
_search
_thumbnail
(webpage
),