[extractor/youtube:stories] Remove (#7459)

YouTube killed them

https://web.archive.org/web/20230630153050/https://support.google.com/youtube/thread/217640760
This commit is contained in:
coletdjnz 2023-07-07 01:32:41 +12:00 committed by GitHub
parent 49296437a8
commit 90db9a3c00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 43 deletions

View File

@ -15,7 +15,6 @@ from .youtube import ( # Youtube is moved to the top to improve performance
YoutubeSearchURLIE, YoutubeSearchURLIE,
YoutubeMusicSearchURLIE, YoutubeMusicSearchURLIE,
YoutubeSubscriptionsIE, YoutubeSubscriptionsIE,
YoutubeStoriesIE,
YoutubeTruncatedIDIE, YoutubeTruncatedIDIE,
YoutubeTruncatedURLIE, YoutubeTruncatedURLIE,
YoutubeYtBeIE, YoutubeYtBeIE,

View File

@ -2499,29 +2499,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
'uploader_id': '@abaointokyo', 'uploader_id': '@abaointokyo',
}, },
'params': {'skip_download': True} 'params': {'skip_download': True}
}, {
# Story. Requires specific player params to work.
'url': 'https://www.youtube.com/watch?v=vv8qTUWmulI',
'info_dict': {
'id': 'vv8qTUWmulI',
'ext': 'mp4',
'availability': 'unlisted',
'view_count': int,
'channel_id': 'UCzIZ8HrzDgc-pNQDUG6avBA',
'upload_date': '20220526',
'categories': ['Education'],
'title': 'Story',
'channel': 'IT\'S HISTORY',
'description': '',
'duration': 12,
'playable_in_embed': True,
'age_limit': 0,
'live_status': 'not_live',
'tags': [],
'thumbnail': 'https://i.ytimg.com/vi_webp/vv8qTUWmulI/maxresdefault.webp',
'channel_url': 'https://www.youtube.com/channel/UCzIZ8HrzDgc-pNQDUG6avBA',
},
'skip': 'stories get removed after some period of time',
}, { }, {
'url': 'https://www.youtube.com/watch?v=tjjjtzRLHvA', 'url': 'https://www.youtube.com/watch?v=tjjjtzRLHvA',
'info_dict': { 'info_dict': {
@ -3620,7 +3597,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
yt_query = { yt_query = {
'videoId': video_id, 'videoId': video_id,
} }
if smuggled_data.get('is_story') or _split_innertube_client(client)[0] == 'android': if _split_innertube_client(client)[0] == 'android':
yt_query['params'] = self._PLAYER_PARAMS yt_query['params'] = self._PLAYER_PARAMS
yt_query.update(self._generate_player_context(sts)) yt_query.update(self._generate_player_context(sts))
@ -4033,8 +4010,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
webpage = None webpage = None
if 'webpage' not in self._configuration_arg('player_skip'): if 'webpage' not in self._configuration_arg('player_skip'):
query = {'bpctr': '9999999999', 'has_verified': '1'} query = {'bpctr': '9999999999', 'has_verified': '1'}
if smuggled_data.get('is_story'): # XXX: Deprecated
query['pp'] = self._PLAYER_PARAMS
webpage = self._download_webpage( webpage = self._download_webpage(
webpage_url, video_id, fatal=False, query=query) webpage_url, video_id, fatal=False, query=query)
@ -7145,22 +7120,6 @@ class YoutubeHistoryIE(YoutubeFeedsInfoExtractor):
}] }]
class YoutubeStoriesIE(InfoExtractor):
IE_DESC = 'YouTube channel stories; "ytstories:" prefix'
IE_NAME = 'youtube:stories'
_VALID_URL = r'ytstories:UC(?P<id>[A-Za-z0-9_-]{21}[AQgw])$'
_TESTS = [{
'url': 'ytstories:UCwFCb4jeqaKWnciAYM-ZVHg',
'only_matching': True,
}]
def _real_extract(self, url):
playlist_id = f'RLTD{self._match_id(url)}'
return self.url_result(
smuggle_url(f'https://www.youtube.com/playlist?list={playlist_id}&playnext=1', {'is_story': True}),
ie=YoutubeTabIE, video_id=playlist_id)
class YoutubeShortsAudioPivotIE(InfoExtractor): class YoutubeShortsAudioPivotIE(InfoExtractor):
IE_DESC = 'YouTube Shorts audio pivot (Shorts using audio of a given video)' IE_DESC = 'YouTube Shorts audio pivot (Shorts using audio of a given video)'
IE_NAME = 'youtube:shorts:pivot:audio' IE_NAME = 'youtube:shorts:pivot:audio'