|
@ -5,6 +5,7 @@ import re |
|
|
from .common import InfoExtractor |
|
|
from .common import InfoExtractor |
|
|
from ..utils import ( |
|
|
from ..utils import ( |
|
|
ExtractorError, |
|
|
ExtractorError, |
|
|
|
|
|
orderedSet, |
|
|
parse_duration, |
|
|
parse_duration, |
|
|
parse_resolution, |
|
|
parse_resolution, |
|
|
str_to_int, |
|
|
str_to_int, |
|
@ -12,7 +13,7 @@ from ..utils import ( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SpankBangIE(InfoExtractor): |
|
|
class SpankBangIE(InfoExtractor): |
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/(?:video|play|embed)' |
|
|
|
|
|
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/(?:video|play|embed)\b' |
|
|
_TESTS = [{ |
|
|
_TESTS = [{ |
|
|
'url': 'http://spankbang.com/3vvn/video/fantasy+solo', |
|
|
'url': 'http://spankbang.com/3vvn/video/fantasy+solo', |
|
|
'md5': '1cc433e1d6aa14bc376535b8679302f7', |
|
|
'md5': '1cc433e1d6aa14bc376535b8679302f7', |
|
@ -103,3 +104,33 @@ class SpankBangIE(InfoExtractor): |
|
|
'formats': formats, |
|
|
'formats': formats, |
|
|
'age_limit': age_limit, |
|
|
'age_limit': age_limit, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SpankBangPlaylistIE(InfoExtractor): |
|
|
|
|
|
_VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/playlist/[^/]+' |
|
|
|
|
|
_TEST = { |
|
|
|
|
|
'url': 'https://spankbang.com/ug0k/playlist/big+ass+titties', |
|
|
|
|
|
'info_dict': { |
|
|
|
|
|
'id': 'ug0k', |
|
|
|
|
|
'title': 'Big Ass Titties', |
|
|
|
|
|
}, |
|
|
|
|
|
'playlist_mincount': 50, |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url): |
|
|
|
|
|
playlist_id = self._match_id(url) |
|
|
|
|
|
|
|
|
|
|
|
webpage = self._download_webpage( |
|
|
|
|
|
url, playlist_id, headers={'Cookie': 'country=US; mobile=on'}) |
|
|
|
|
|
|
|
|
|
|
|
entries = [self.url_result( |
|
|
|
|
|
'https://spankbang.com/%s/video' % video_id, |
|
|
|
|
|
ie=SpankBangIE.ie_key(), video_id=video_id) |
|
|
|
|
|
for video_id in orderedSet(re.findall( |
|
|
|
|
|
r'<a[^>]+\bhref=["\']/?([\da-z]+)/play/', webpage))] |
|
|
|
|
|
|
|
|
|
|
|
title = self._html_search_regex( |
|
|
|
|
|
r'<h1>([^<]+)\s+playlist</h1>', webpage, 'playlist title', |
|
|
|
|
|
fatal=False) |
|
|
|
|
|
|
|
|
|
|
|
return self.playlist_result(entries, playlist_id, title) |