forked from zaclys/searxng
		
	[fix] startpage engine compatibility
This commit is contained in:
		
							parent
							
								
									55234d96b7
								
							
						
					
					
						commit
						b1234ee889
					
				
					 1 changed files with 20 additions and 12 deletions
				
			
		| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
## Startpage (Web)
 | 
					#  Startpage (Web)
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# @website     https://startpage.com
 | 
					# @website     https://startpage.com
 | 
				
			||||||
# @provide-api no (nothing found)
 | 
					# @provide-api no (nothing found)
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,10 @@ import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# engine dependent config
 | 
					# engine dependent config
 | 
				
			||||||
categories = ['general']
 | 
					categories = ['general']
 | 
				
			||||||
# there is a mechanism to block "bot" search (probably the parameter qid), require storing of qid's between mulitble search-calls
 | 
					# there is a mechanism to block "bot" search
 | 
				
			||||||
 | 
					# (probably the parameter qid), require
 | 
				
			||||||
 | 
					# storing of qid's between mulitble search-calls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# paging = False
 | 
					# paging = False
 | 
				
			||||||
language_support = True
 | 
					language_support = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +47,8 @@ def request(query, params):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # set language if specified
 | 
					    # set language if specified
 | 
				
			||||||
    if params['language'] != 'all':
 | 
					    if params['language'] != 'all':
 | 
				
			||||||
        params['data']['with_language'] = 'lang_' + params['language'].split('_')[0]
 | 
					        params['data']['with_language'] = ('lang_' +
 | 
				
			||||||
 | 
					                                           params['language'].split('_')[0])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return params
 | 
					    return params
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -57,7 +61,10 @@ def response(resp):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # parse results
 | 
					    # parse results
 | 
				
			||||||
    for result in dom.xpath(results_xpath):
 | 
					    for result in dom.xpath(results_xpath):
 | 
				
			||||||
        link = result.xpath(link_xpath)[0]
 | 
					        links = result.xpath(link_xpath)
 | 
				
			||||||
 | 
					        if not links:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        link = links[0]
 | 
				
			||||||
        url = link.attrib.get('href')
 | 
					        url = link.attrib.get('href')
 | 
				
			||||||
        title = escape(link.text_content())
 | 
					        title = escape(link.text_content())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,7 +73,8 @@ def response(resp):
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if result.xpath('./p[@class="desc"]'):
 | 
					        if result.xpath('./p[@class="desc"]'):
 | 
				
			||||||
            content = escape(result.xpath('./p[@class="desc"]')[0].text_content())
 | 
					            content = escape(result.xpath('./p[@class="desc"]')[0]
 | 
				
			||||||
 | 
					                             .text_content())
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            content = ''
 | 
					            content = ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue