[extractor/spankbang] Add support for spankbang.party (yt-dlp#6545)

Update URL match to support both '.com' and '.party'. Modify metadata request to use the domain of the supplied URL rather than hardcoded 'spankbang.com'.
This commit is contained in:
Hawker2 2024-08-19 16:32:45 -05:00 committed by GitHub
parent bef1d4d6fc
commit 64faaf01a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,7 +17,7 @@
class SpankBangIE(InfoExtractor):
_VALID_URL = r'''(?x)
https?://
(?:[^/]+\.)?spankbang\.com/
(?:[^/]+\.)?spankbang\.(?:com|party)/
(?:
(?P<id>[\da-z]+)/(?:video|play|embed)\b|
[\da-z]+-(?P<id_2>[\da-z]+)/playlist/[^/?#&]+
@ -111,9 +111,10 @@ def extract_format(format_id, format_url):
stream_key = self._search_regex(
r'data-streamkey\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1',
webpage, 'stream key', group='value')
stream_domain = re.search(r'https?://(?:[^/]+\.)?(spankbang\.(?:com|party))/', url).group(1)
stream_url = 'https://' + stream_domain + '/api/videos/stream'
stream = self._download_json(
'https://spankbang.com/api/videos/stream', video_id,
stream_url, video_id,
'Downloading stream JSON', data=urlencode_postdata({
'id': stream_key,
'data': 0,
@ -163,7 +164,7 @@ def extract_format(format_id, format_url):
class SpankBangPlaylistIE(InfoExtractor):
_VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/playlist/(?P<display_id>[^/]+)'
_VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.(?:com|party)/(?P<id>[\da-z]+)/playlist/(?P<display_id>[^/]+)'
_TEST = {
'url': 'https://spankbang.com/ug0k/playlist/big+ass+titties',
'info_dict': {