]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/sexykarma.py
e33483674439fb2fcfcdce60a9de6a6ca328dfdd
   2 from __future__ 
import unicode_literals
 
   6 from .common 
import InfoExtractor
 
  14 class SexyKarmaIE(InfoExtractor
): 
  15     IE_DESC 
= 'Sexy Karma and Watch Indian Porn' 
  16     _VALID_URL 
= r
'https?://(?:www\.)?(?:sexykarma\.com|watchindianporn\.net)/(?:[^/]+/)*video/(?P<display_id>[^/]+)-(?P<id>[a-zA-Z0-9]+)\.html' 
  18         'url': 'http://www.sexykarma.com/gonewild/video/taking-a-quick-pee-yHI70cOyIHt.html', 
  19         'md5': 'b9798e7d1ef1765116a8f516c8091dbd', 
  22             'display_id': 'taking-a-quick-pee', 
  24             'title': 'Taking a quick pee.', 
  25             'thumbnail': 're:^https?://.*\.jpg$', 
  26             'uploader': 'wildginger7', 
  27             'upload_date': '20141008', 
  35         'url': 'http://www.sexykarma.com/gonewild/video/pot-pixie-tribute-8Id6EZPbuHf.html', 
  36         'md5': 'dd216c68d29b49b12842b9babe762a5d', 
  39             'display_id': 'pot-pixie-tribute', 
  41             'title': 'pot_pixie tribute', 
  42             'thumbnail': 're:^https?://.*\.jpg$', 
  43             'uploader': 'banffite', 
  44             'upload_date': '20141013', 
  52         'url': 'http://www.watchindianporn.net/video/desi-dancer-namrata-stripping-completely-nude-and-dancing-on-a-hot-number-dW2mtctxJfs.html', 
  53         'md5': '9afb80675550406ed9a63ac2819ef69d', 
  56             'display_id': 'desi-dancer-namrata-stripping-completely-nude-and-dancing-on-a-hot-number', 
  58             'title': 'Desi dancer namrata stripping completely nude and dancing on a hot number', 
  59             'thumbnail': 're:^https?://.*\.jpg$', 
  61             'upload_date': '20140213', 
  70     def _real_extract(self
, url
): 
  71         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  72         video_id 
= mobj
.group('id') 
  73         display_id 
= mobj
.group('display_id') 
  75         webpage 
= self
._download
_webpage
(url
, display_id
) 
  77         video_url 
= self
._html
_search
_regex
( 
  78             r
"url: escape\('([^']+)'\)", webpage
, 'url') 
  80         title 
= self
._html
_search
_regex
( 
  81             r
'<h2 class="he2"><span>(.*?)</span>', 
  83         thumbnail 
= self
._html
_search
_regex
( 
  84             r
'<span id="container"><img\s+src="([^"]+)"', 
  85             webpage
, 'thumbnail', fatal
=False) 
  87         uploader 
= self
._html
_search
_regex
( 
  88             r
'class="aupa">\s*(.*?)</a>', 
  90         upload_date 
= unified_strdate(self
._html
_search
_regex
( 
  91             r
'Added: <strong>(.+?)</strong>', webpage
, 'upload date', fatal
=False)) 
  93         duration 
= parse_duration(self
._search
_regex
( 
  94             r
'<td>Time:\s*</td>\s*<td align="right"><span>\s*(.+?)\s*</span>', 
  95             webpage
, 'duration', fatal
=False)) 
  97         view_count 
= int_or_none(self
._search
_regex
( 
  98             r
'<td>Views:\s*</td>\s*<td align="right"><span>\s*(\d+)\s*</span>', 
  99             webpage
, 'view count', fatal
=False)) 
 100         comment_count 
= int_or_none(self
._search
_regex
( 
 101             r
'<td>Comments:\s*</td>\s*<td align="right"><span>\s*(\d+)\s*</span>', 
 102             webpage
, 'comment count', fatal
=False)) 
 104         categories 
= re
.findall( 
 105             r
'<a href="[^"]+/search/video/desi"><span>([^<]+)</span></a>', 
 110             'display_id': display_id
, 
 113             'thumbnail': thumbnail
, 
 114             'uploader': uploader
, 
 115             'upload_date': upload_date
, 
 116             'duration': duration
, 
 117             'view_count': view_count
, 
 118             'comment_count': comment_count
, 
 119             'categories': categories
,