youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

extremetube.py (1747B)


      1 from __future__ import unicode_literals
      2 
      3 from ..utils import str_to_int
      4 from .keezmovies import KeezMoviesIE
      5 
      6 
      7 class ExtremeTubeIE(KeezMoviesIE):
      8     _VALID_URL = r'https?://(?:www\.)?extremetube\.com/(?:[^/]+/)?video/(?P<id>[^/#?&]+)'
      9     _TESTS = [{
     10         'url': 'http://www.extremetube.com/video/music-video-14-british-euro-brit-european-cumshots-swallow-652431',
     11         'md5': '92feaafa4b58e82f261e5419f39c60cb',
     12         'info_dict': {
     13             'id': 'music-video-14-british-euro-brit-european-cumshots-swallow-652431',
     14             'ext': 'mp4',
     15             'title': 'Music Video 14 british euro brit european cumshots swallow',
     16             'uploader': 'anonim',
     17             'view_count': int,
     18             'age_limit': 18,
     19         }
     20     }, {
     21         'url': 'http://www.extremetube.com/gay/video/abcde-1234',
     22         'only_matching': True,
     23     }, {
     24         'url': 'http://www.extremetube.com/video/latina-slut-fucked-by-fat-black-dick',
     25         'only_matching': True,
     26     }, {
     27         'url': 'http://www.extremetube.com/video/652431',
     28         'only_matching': True,
     29     }]
     30 
     31     def _real_extract(self, url):
     32         webpage, info = self._extract_info(url)
     33 
     34         if not info['title']:
     35             info['title'] = self._search_regex(
     36                 r'<h1[^>]+title="([^"]+)"[^>]*>', webpage, 'title')
     37 
     38         uploader = self._html_search_regex(
     39             r'Uploaded by:\s*</[^>]+>\s*<a[^>]+>(.+?)</a>',
     40             webpage, 'uploader', fatal=False)
     41         view_count = str_to_int(self._search_regex(
     42             r'Views:\s*</[^>]+>\s*<[^>]+>([\d,\.]+)</',
     43             webpage, 'view count', fatal=False))
     44 
     45         info.update({
     46             'uploader': uploader,
     47             'view_count': view_count,
     48         })
     49 
     50         return info