Compare commits

...

2 Commits

Author SHA1 Message Date
Hawker2
49c1d6a2fa
Merge 64faaf01a2 into da252d9d32 2024-11-18 03:11:33 +01:00
Hawker2
64faaf01a2
[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'.
2024-08-19 16:32:45 -05:00

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/[^/?#&]+
@ -113,9 +113,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,
@ -165,7 +166,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': {