]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/sexykarma.py
c833fc8ee817bce2ce09fce724f67633a54ba459
   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': '20141007', 
  34         'url': 'http://www.sexykarma.com/gonewild/video/pot-pixie-tribute-8Id6EZPbuHf.html', 
  35         'md5': 'dd216c68d29b49b12842b9babe762a5d', 
  38             'display_id': 'pot-pixie-tribute', 
  40             'title': 'pot_pixie tribute', 
  41             'thumbnail': 're:^https?://.*\.jpg$', 
  42             'uploader': 'banffite', 
  43             'upload_date': '20141013', 
  50         'url': 'http://www.watchindianporn.net/video/desi-dancer-namrata-stripping-completely-nude-and-dancing-on-a-hot-number-dW2mtctxJfs.html', 
  51         'md5': '9afb80675550406ed9a63ac2819ef69d', 
  54             'display_id': 'desi-dancer-namrata-stripping-completely-nude-and-dancing-on-a-hot-number', 
  56             'title': 'Desi dancer namrata stripping completely nude and dancing on a hot number', 
  57             'thumbnail': 're:^https?://.*\.jpg$', 
  59             'upload_date': '20140213', 
  67     def _real_extract(self
, url
): 
  68         mobj 
= re
.match(self
._VALID
_URL
, url
) 
  69         video_id 
= mobj
.group('id') 
  70         display_id 
= mobj
.group('display_id') 
  72         webpage 
= self
._download
_webpage
(url
, display_id
) 
  74         video_url 
= self
._html
_search
_regex
( 
  75             r
"url: escape\('([^']+)'\)", webpage
, 'url') 
  77         title 
= self
._html
_search
_regex
( 
  78             r
'<h2 class="he2"><span>(.*?)</span>', 
  80         thumbnail 
= self
._html
_search
_regex
( 
  81             r
'<span id="container"><img\s+src="([^"]+)"', 
  82             webpage
, 'thumbnail', fatal
=False) 
  84         uploader 
= self
._html
_search
_regex
( 
  85             r
'class="aupa">\s*(.*?)</a>', 
  87         upload_date 
= unified_strdate(self
._html
_search
_regex
( 
  88             r
'Added: <strong>(.+?)</strong>', webpage
, 'upload date', fatal
=False)) 
  90         duration 
= parse_duration(self
._search
_regex
( 
  91             r
'<td>Time:\s*</td>\s*<td align="right"><span>\s*(.+?)\s*</span>', 
  92             webpage
, 'duration', fatal
=False)) 
  94         view_count 
= int_or_none(self
._search
_regex
( 
  95             r
'<td>Views:\s*</td>\s*<td align="right"><span>\s*(\d+)\s*</span>', 
  96             webpage
, 'view count', fatal
=False)) 
  97         comment_count 
= int_or_none(self
._search
_regex
( 
  98             r
'<td>Comments:\s*</td>\s*<td align="right"><span>\s*(\d+)\s*</span>', 
  99             webpage
, 'comment count', fatal
=False)) 
 101         categories 
= re
.findall( 
 102             r
'<a href="[^"]+/search/video/desi"><span>([^<]+)</span></a>', 
 107             'display_id': display_id
, 
 110             'thumbnail': thumbnail
, 
 111             'uploader': uploader
, 
 112             'upload_date': upload_date
, 
 113             'duration': duration
, 
 114             'view_count': view_count
, 
 115             'comment_count': comment_count
, 
 116             'categories': categories
,