diff --git a/duckduckgo_search/duckduckgo_search.py b/duckduckgo_search/duckduckgo_search.py index 9242fe8..712db94 100644 --- a/duckduckgo_search/duckduckgo_search.py +++ b/duckduckgo_search/duckduckgo_search.py @@ -299,7 +299,7 @@ def _text_api( return results else: next_page_url = row.get("n") - if not next_page_url: + if not next_page_url or not max_results: return results payload["s"] = next_page_url.split("s=")[1].split("&")[0] return results @@ -365,7 +365,7 @@ def _text_html( return results npx = tree.xpath('.//div[@class="nav-link"]') - if not npx: + if not npx or not max_results: return results next_page = npx[-1] if isinstance(npx, list) else None if isinstance(next_page, _Element): @@ -447,7 +447,7 @@ def _text_lite( return results next_page_s = tree.xpath("//form[./input[contains(@value, 'ext')]]/input[@name='s']/@value") - if not next_page_s: + if not next_page_s or not max_results: return results elif isinstance(next_page_s, list): payload["s"] = str(next_page_s[0]) @@ -539,7 +539,7 @@ def images( if max_results and len(results) >= max_results: return results next = resp_json.get("next") - if next is None: + if next is None or not max_results: return results payload["s"] = next.split("s=")[-1].split("&")[0] @@ -609,7 +609,7 @@ def videos( if max_results and len(results) >= max_results: return results next = resp_json.get("next") - if next is None: + if next is None or not max_results: return results payload["s"] = next.split("s=")[-1].split("&")[0] @@ -681,7 +681,7 @@ def news( return results next = resp_json.get("next") - if next is None: + if next is None or not max_results: return results payload["s"] = next.split("s=")[-1].split("&")[0]