diff --git a/yt_dlp/extractor/niconico.py b/yt_dlp/extractor/niconico.py index 391eba2bea..fa18858b30 100644 --- a/yt_dlp/extractor/niconico.py +++ b/yt_dlp/extractor/niconico.py @@ -22,6 +22,7 @@ from ..utils import ( str_or_none, time_seconds, truncate_string, + unescapeHTML, unified_timestamp, update_url_query, url_basename, @@ -720,12 +721,29 @@ class NicovideoSearchBaseIE(InfoExtractor): def _entries(self, url, item_id, query=None, note='Downloading page %(page)s'): query = query or {} pages = [query['page']] if 'page' in query else itertools.count(1) + is_old = False for page_num in pages: query['page'] = str(page_num) webpage = self._download_webpage(url, item_id, query=query, note=note % {'page': page_num}) + results = re.findall(r'(?<=data-video-id=)["\']?(?P.*?)(?=["\'])', webpage) + has_next = None + if results: + is_old = True + if not is_old: + server_response = self._search_regex(r'