Add support for Eporner

pull/3629/head
peugeot 2014-08-30 22:28:53 +02:00
parent 08a36c3569
commit 1d57b2520c
2 changed files with 46 additions and 0 deletions

View File

@ -85,6 +85,7 @@ from .ellentv import (
from .elpais import ElPaisIE from .elpais import ElPaisIE
from .empflix import EmpflixIE from .empflix import EmpflixIE
from .engadget import EngadgetIE from .engadget import EngadgetIE
from .eporner import EpornerIE
from .escapist import EscapistIE from .escapist import EscapistIE
from .everyonesmixtape import EveryonesMixtapeIE from .everyonesmixtape import EveryonesMixtapeIE
from .exfm import ExfmIE from .exfm import ExfmIE

View File

@ -0,0 +1,45 @@
# coding: utf-8
from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..utils import int_or_none
class EpornerIE(InfoExtractor):
_VALID_URL = r'http?://(?:www\.)?eporner\.com/hd-porn/(?P<id>\d+)/(?P<title_dash>[\w-]+)/?'
_TEST = {
'url': 'http://www.eporner.com/hd-porn/95008/Infamous-Tiffany-Teen-Strip-Tease-Video/',
'md5': '3b427ae4b9d60619106de3185c2987cd',
'info_dict': {
'id': '95008',
'ext': 'flv',
'title': 'Infamous Tiffany Teen Strip Tease Video',
'duration': 194
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r'<title>(.*?) - EPORNER', webpage, 'title')
redirect_code = self._html_search_regex(r'<script type="text/javascript" src="/config5/'+str(video_id)+'/([a-f\d]+)/">', webpage, 'redirect_code')
redirect_url = 'http://www.eporner.com/config5/' + str(video_id) +'/'+ redirect_code
webpage2 = self._download_webpage(redirect_url, video_id)
video_url = self._html_search_regex(r'file: "(.*?)",', webpage2, 'video_url')
mobj = re.search(r'class="mbtim">(?P<minutes>\d+):(?P<seconds>\d+)</div>', webpage)
duration = int(mobj.group('minutes')) * 60 + int(mobj.group('seconds')) if mobj else None
mobj = re.search(r'id="cinemaviews">((?P<thousands>\d+),)?(?P<units>\d+)<small>views', webpage)
view_count = int(mobj.group('thousands')) * 1000 + int(mobj.group('units')) if mobj else None
return {
'id': video_id,
'url': video_url,
'title': title,
'duration': int_or_none(duration),
'view_count': int_or_none(view_count),
}