]>
Raphaël G. Git Repositories - youtubedl/blob - youtube_dl/extractor/izlesene.py
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
  17 class IzleseneIE(InfoExtractor
): 
  19         https?://(?:(?:www|m)\.)?izlesene\.com/ 
  20         (?:video|embedplayer)/(?:[^/]+/)?(?P<id>[0-9]+) 
  24             'url': 'http://www.izlesene.com/video/sevincten-cildirtan-dogum-gunu-hediyesi/7599694', 
  25             'md5': '4384f9f0ea65086734b881085ee05ac2', 
  29                 'title': 'Sevinçten Çıldırtan Doğum Günü Hediyesi', 
  30                 'description': 'md5:253753e2655dde93f59f74b572454f6d', 
  31                 'thumbnail': 're:^http://.*\.jpg', 
  32                 'uploader_id': 'pelikzzle', 
  33                 'timestamp': 1404302298, 
  34                 'upload_date': '20140702', 
  40             'url': 'http://www.izlesene.com/video/tarkan-dortmund-2006-konseri/17997', 
  41             'md5': '97f09b6872bffa284cb7fa4f6910cb72', 
  45                 'title': 'Tarkan Dortmund 2006 Konseri', 
  46                 'description': 'Tarkan Dortmund 2006 Konseri', 
  47                 'thumbnail': 're:^http://.*\.jpg', 
  48                 'uploader_id': 'parlayankiz', 
  49                 'timestamp': 1163322193, 
  50                 'upload_date': '20061112', 
  57     def _real_extract(self
, url
): 
  58         video_id 
= self
._match
_id
(url
) 
  60         url 
= 'http://www.izlesene.com/video/%s' % video_id
 
  61         webpage 
= self
._download
_webpage
(url
, video_id
) 
  63         title 
= self
._og
_search
_title
(webpage
) 
  64         description 
= self
._og
_search
_description
(webpage
) 
  65         thumbnail 
= self
._proto
_relative
_url
( 
  66             self
._og
_search
_thumbnail
(webpage
), scheme
='http:') 
  68         uploader 
= self
._html
_search
_regex
( 
  69             r
"adduserUsername\s*=\s*'([^']+)';", 
  70             webpage
, 'uploader', fatal
=False, default
='') 
  71         timestamp 
= parse_iso8601(self
._html
_search
_meta
( 
  72             'uploadDate', webpage
, 'upload date', fatal
=False)) 
  74         duration 
= float_or_none(self
._html
_search
_regex
( 
  75             r
'"videoduration"\s*:\s*"([^"]+)"', 
  76             webpage
, 'duration', fatal
=False), scale
=1000) 
  78         view_count 
= str_to_int(get_element_by_id('videoViewCount', webpage
)) 
  79         comment_count 
= self
._html
_search
_regex
( 
  80             r
'comment_count\s*=\s*\'([^
\']+)\';', 
  81             webpage, 'comment_count
', fatal=False) 
  83         content_url = self._html_search_meta( 
  84             'contentURL
', webpage, 'content URL
', fatal=False) 
  85         ext = determine_ext(content_url, 'mp4
') 
  87         # Might be empty for some videos. 
  88         streams = self._html_search_regex( 
  89             r'"qualitylevel"\s
*:\s
*"([^"]+)"', 
  90             webpage, 'streams', fatal=False, default='') 
  94             for stream in streams.split('|'): 
  95                 quality, url = re.search(r'\[(\w+)\](.+)', stream).groups() 
  97                     'format_id': '%sp' % quality if quality else 'sd', 
 102             stream_url = self._search_regex( 
 103                 r'"streamurl
"\s?:\s?"([^
"]+)"', webpage, 'stream URL
') 
 113             'description
': description, 
 114             'thumbnail
': thumbnail, 
 115             'uploader_id
': uploader, 
 116             'timestamp
': timestamp, 
 117             'duration
': duration, 
 118             'view_count
': int_or_none(view_count), 
 119             'comment_count
': int_or_none(comment_count), 
 120             'age_limit
': self._family_friendly_search(webpage),