X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fkeezmovies.py;h=d79261bb50b969e2dc6643c2ecb2ca198cc2af12;hb=78653a33aa00ba5205940c2baac5d9f019795b88;hp=937caf6644749b8c3f0154b2eaff534f6036bb6a;hpb=5b11143d05c6d38cf1df94561c2a515c9150b2e1;p=youtube-dl diff --git a/youtube_dl/extractor/keezmovies.py b/youtube_dl/extractor/keezmovies.py index 937caf664..d79261bb5 100644 --- a/youtube_dl/extractor/keezmovies.py +++ b/youtube_dl/extractor/keezmovies.py @@ -1,34 +1,30 @@ +from __future__ import unicode_literals + import os import re from .common import InfoExtractor -from ..utils import ( - compat_urllib_parse_urlparse, - compat_urllib_request, - compat_urllib_parse, - unescapeHTML, -) -from ..aes import ( - aes_decrypt_text -) +from ..compat import compat_urllib_parse_urlparse +from ..utils import sanitized_Request + class KeezMoviesIE(InfoExtractor): - _VALID_URL = r'^(?:https?://)?(?:www\.)?(?Pkeezmovies\.com/video/.+?(?P[0-9]+))' + _VALID_URL = r'https?://(?:www\.)?keezmovies\.com/video/.+?(?P[0-9]+)(?:[/?&]|$)' _TEST = { - u'url': u'http://www.keezmovies.com/video/petite-asian-lady-mai-playing-in-bathtub-1214711', - u'file': u'1214711.mp4', - u'md5': u'6e297b7e789329923fcf83abb67c9289', - u'info_dict': { - u"title": u"Petite Asian Lady Mai Playing In Bathtub", + 'url': 'http://www.keezmovies.com/video/petite-asian-lady-mai-playing-in-bathtub-1214711', + 'md5': '6e297b7e789329923fcf83abb67c9289', + 'info_dict': { + 'id': '1214711', + 'ext': 'mp4', + 'title': 'Petite Asian Lady Mai Playing In Bathtub', + 'age_limit': 18, } } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('videoid') - url = 'http://www.' + mobj.group('url') + video_id = self._match_id(url) - req = compat_urllib_request.Request(url) + req = sanitized_Request(url) req.add_header('Cookie', 'age_verified=1') webpage = self._download_webpage(req, video_id) @@ -36,17 +32,18 @@ class KeezMoviesIE(InfoExtractor): mobj = re.search(r'href="([^"]+)">', webpage) if mobj: embedded_url = mobj.group(1) - return self.playlist_result([self.url_result(embedded_url)], playlist_id=video_id) - - video_title = self._html_search_regex(r'

]*>([^<]+)', webpage, u'title') - video_url = compat_urllib_parse.unquote(self._html_search_regex(r'video_url=(.+?)&', webpage, u'video_url')) - if webpage.find('encrypted=true')!=-1: - password = self._html_search_regex(r'video_title=(.+?)&', webpage, u'password') - video_url = aes_decrypt_text(video_url, password, 32).decode('utf-8') - path = compat_urllib_parse_urlparse( video_url ).path - extension = os.path.splitext( path )[1][1:] + return self.url_result(embedded_url) + + video_title = self._html_search_regex( + r'

]*>([^<]+)', webpage, 'title') + video_url = self._html_search_regex( + r'(?s)html5VideoPlayer = .*?src="([^"]+)"', webpage, 'video URL') + path = compat_urllib_parse_urlparse(video_url).path + extension = os.path.splitext(path)[1][1:] format = path.split('/')[4].split('_')[:2] - format = "-".join( format ) + format = "-".join(format) + + age_limit = self._rta_search(webpage) return { 'id': video_id, @@ -55,4 +52,5 @@ class KeezMoviesIE(InfoExtractor): 'ext': extension, 'format': format, 'format_id': format, + 'age_limit': age_limit, }