aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2014-12-15 19:19:15 +0100
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2014-12-15 19:19:15 +0100
commit4b7df0d30cfe62ab25f462974c2ed0fc5a82eb3f (patch)
treed9dcf01a7c00558dbcdc15efba5e9abec0e07366
parentcaff59499c17f1701ca9a6c654d001d70456b210 (diff)
downloadyoutube-dl-4b7df0d30cfe62ab25f462974c2ed0fc5a82eb3f.tar.xz
[youtube:playlist] Work around buggy playlists (fixes #4449)
They show a "Load more" button, but they don't have more videos. The continuation url in the json file was a link to itself, so we ended up in an infinite loop.
-rw-r--r--youtube_dl/extractor/youtube.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 3319d6bff..aaa07b5eb 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -1128,6 +1128,13 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):
'info_dict': {
'title': 'JODA7',
}
+ }, {
+ 'note': 'Buggy playlist: the webpage has a "Load more" button but it doesn\'t have more videos',
+ 'url': 'https://www.youtube.com/playlist?list=UUXw-G3eDE9trcvY2sBMM_aA',
+ 'info_dict': {
+ 'title': 'Uploads from Interstellar Movie',
+ },
+ 'playlist_mincout': 21,
}]
def _real_initialize(self):
@@ -1212,6 +1219,10 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):
'Downloading page #%s' % page_num,
transform_source=uppercase_escape)
content_html = more['content_html']
+ if not content_html.strip():
+ # Some webpages show a "Load more" button but they don't
+ # have more videos
+ break
more_widget_html = more['load_more_widget_html']
playlist_title = self._html_search_regex(