Browse Source

[mod] add option max_page to bing, brave, qwant, startpage & mojeek

[1] https://github.com/searxng/searxng/issues/2982#issuecomment-1808975780

Reported-by: @Damaj301damaj-lol [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 1 year ago
parent
commit
3829c253ff
5 changed files with 15 additions and 4 deletions
  1. 3 0
      searx/engines/bing.py
  2. 4 0
      searx/engines/brave.py
  3. 4 4
      searx/engines/qwant.py
  4. 3 0
      searx/engines/startpage.py
  5. 1 0
      searx/settings.yml

+ 3 - 0
searx/engines/bing.py

@@ -59,6 +59,9 @@ about = {
 # engine dependent config
 categories = ['general', 'web']
 paging = True
+max_page = 200
+"""200 pages maximum (``&first=1991``)"""
+
 time_range_support = True
 safesearch = True
 """Bing results are always SFW.  To get NSFW links from bing some age

+ 4 - 0
searx/engines/brave.py

@@ -152,6 +152,10 @@ send_accept_language_header = True
 paging = False
 """Brave only supports paging in :py:obj:`brave_category` ``search`` (UI
 category All)."""
+max_page = 10
+"""Tested 9 pages maximum (``&offset=8``), to be save max is set to 10.  Trying
+to do more won't return any result and you will most likely be flagged as a bot.
+"""
 
 safesearch = True
 safesearch_map = {2: 'strict', 1: 'moderate', 0: 'off'}  # cookie: safesearch=off

+ 4 - 4
searx/engines/qwant.py

@@ -75,6 +75,10 @@ about = {
 # engine dependent config
 categories = []
 paging = True
+max_page = 5
+"""5 pages maximum (``&p=5``): Trying to do more just results in an improper
+redirect"""
+
 qwant_categ = None
 """One of ``web-lite`` (or ``web``), ``news``, ``images`` or ``videos``"""
 
@@ -112,10 +116,6 @@ def request(query, params):
     args = {'q': query}
     params['raise_for_httperror'] = False
 
-    # all qwant engines (incl qwant-lite) delivers only 5 pages maximum
-    if params['pageno'] > 5:
-        return None
-
     if qwant_categ == 'web-lite':
 
         url = web_lite_url + '?'

+ 3 - 0
searx/engines/startpage.py

@@ -127,6 +127,9 @@ different to the UI language) and a region filter.
 # engine dependent config
 categories = ['general', 'web']
 paging = True
+max_page = 18
+"""Tested 18 pages maximum (argument ``page``), to be save max is set to 20."""
+
 time_range_support = True
 safesearch = True
 

+ 1 - 0
searx/settings.yml

@@ -1871,6 +1871,7 @@ engines:
     suggestion_xpath: //div[@class="top-info"]/p[@class="top-info spell"]/em/a
     first_page_num: 0
     page_size: 10
+    max_page: 100
     disabled: true
     about:
       website: https://www.mojeek.com/