Update youtube.py

Changed playlist search result urls to provide video id and playlist id.
This commit is contained in:
Crypto90 2020-07-01 19:54:23 +02:00 committed by GitHub
parent 438ec47af3
commit 5f6f4fda9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -332,7 +332,7 @@ class YoutubePlaylistBaseInfoExtractor(YoutubeEntryListBaseInfoExtractor):
yield self.url_result(video_id, 'Youtube', video_id, video_title, video_duration) yield self.url_result(video_id, 'Youtube', video_id, video_title, video_duration)
elif len(video_id) > 11: elif len(video_id) > 11:
# Youtube playlist id found # Youtube playlist id found
yield self.url_result('https://www.youtube.com/playlist?list=%s' % video_id, 'YoutubePlaylist', video_id, video_title) yield self.url_result('https://www.youtube.com/watch?v=%s&list=%s' % (video_id.split(';')[0], video_id.split(';')[1]), 'YoutubePlaylist', video_id, video_title)
def extract_videos_from_page_impl(self, video_re, page, ids_in_page, titles_in_page, durations_in_page): def extract_videos_from_page_impl(self, video_re, page, ids_in_page, titles_in_page, durations_in_page):
for mobj in re.finditer(video_re, page): for mobj in re.finditer(video_re, page):
@ -342,7 +342,7 @@ class YoutubePlaylistBaseInfoExtractor(YoutubeEntryListBaseInfoExtractor):
video_id = mobj.group('id') video_id = mobj.group('id')
playlist_id = mobj.group('plid') if 'plid' in mobj.groupdict() else None playlist_id = mobj.group('plid') if 'plid' in mobj.groupdict() else None
if playlist_id is not None: if playlist_id is not None:
video_id = playlist_id video_id = video_id + ';' + playlist_id
video_title = unescapeHTML(mobj.group('title')) if 'title' in mobj.groupdict() else None video_title = unescapeHTML(mobj.group('title')) if 'title' in mobj.groupdict() else None
if video_title: if video_title:
video_title = video_title.strip() video_title = video_title.strip()