[pornflip] Add extractor (closes #11556)

pull/8/head
einstein95 2017-01-21 20:02:55 +13:00 zatwierdzone przez Sergey M․
rodzic a243abb80d
commit 8d1fbe0cb2
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 2C393E0F18A9236D
2 zmienionych plików z 60 dodań i 0 usunięć

Wyświetl plik

@ -724,6 +724,7 @@ from .polskieradio import (
) )
from .porn91 import Porn91IE from .porn91 import Porn91IE
from .porncom import PornComIE from .porncom import PornComIE
from .pornflip import PornFlipIE
from .pornhd import PornHdIE from .pornhd import PornHdIE
from .pornhub import ( from .pornhub import (
PornHubIE, PornHubIE,

Wyświetl plik

@ -0,0 +1,59 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..compat import (
compat_parse_qs,
)
from ..utils import (
int_or_none,
try_get,
RegexNotFoundError,
)
class PornFlipIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?pornflip\.com/v/(?P<id>[0-9A-Za-z]{11})'
_TEST = {
'url': 'https://www.pornflip.com/v/wz7DfNhMmep',
'md5': '98c46639849145ae1fd77af532a9278c',
'info_dict': {
'id': 'wz7DfNhMmep',
'ext': 'mp4',
'title': '2 Amateurs swallow make his dream cumshots true',
'uploader': 'figifoto',
'thumbnail': r're:^https?://.*\.jpg$',
'age_limit': 18,
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
uploader = self._html_search_regex(
r'<span class="name">\s+<a class="ajax" href=".+>\s+<strong>([^<]+)<', webpage, 'uploader', fatal=False)
flashvars = compat_parse_qs(self._html_search_regex(
r'<embed.+?flashvars="([^"]+)"',
webpage, 'flashvars'))
title = flashvars['video_vars[title]'][0]
thumbnail = try_get(flashvars, lambda x: x['video_vars[big_thumb]'][0])
formats = []
for k, v in flashvars.items():
height = self._search_regex(r'video_vars\[video_urls\]\[(\d+).+?\]', k, 'height', default=None)
if height:
url = v[0]
formats.append({
'height': int_or_none(height),
'url': url
})
self._sort_formats(formats)
return {
'id': video_id,
'formats': formats,
'title': title,
'uploader': uploader,
'thumbnail': thumbnail,
'age_limit': 18,
}