mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-30 18:22:31 -04:00 
			
		
		
		
	Merge pull request #1923 from HLFH/master
Remove discontinued faroo engine
This commit is contained in:
		
						commit
						f18f94a857
					
				| @ -1,96 +0,0 @@ | ||||
| """ | ||||
|  Faroo (Web, News) | ||||
| 
 | ||||
|  @website     http://www.faroo.com | ||||
|  @provide-api yes (http://www.faroo.com/hp/api/api.html), require API-key | ||||
| 
 | ||||
|  @using-api   no | ||||
|  @results     JSON | ||||
|  @stable      yes | ||||
|  @parse       url, title, content, publishedDate, img_src | ||||
| """ | ||||
| 
 | ||||
| from json import loads | ||||
| import datetime | ||||
| from searx.utils import searx_useragent | ||||
| from searx.url_utils import urlencode | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['general', 'news'] | ||||
| paging = True | ||||
| language_support = True | ||||
| number_of_results = 10 | ||||
| 
 | ||||
| # search-url | ||||
| url = 'http://www.faroo.com/' | ||||
| search_url = url + 'instant.json?{query}'\ | ||||
|     '&start={offset}'\ | ||||
|     '&length={number_of_results}'\ | ||||
|     '&l={language}'\ | ||||
|     '&src={categorie}'\ | ||||
|     '&i=false'\ | ||||
|     '&c=false' | ||||
| 
 | ||||
| search_category = {'general': 'web', | ||||
|                    'news': 'news'} | ||||
| 
 | ||||
| 
 | ||||
| # do search-request | ||||
| def request(query, params): | ||||
|     offset = (params['pageno'] - 1) * number_of_results + 1 | ||||
|     categorie = search_category.get(params['category'], 'web') | ||||
| 
 | ||||
|     if params['language'] == 'all': | ||||
|         language = 'en' | ||||
|     else: | ||||
|         language = params['language'].split('-')[0] | ||||
| 
 | ||||
|     # if language is not supported, put it in english | ||||
|     if language != 'en' and\ | ||||
|        language != 'de' and\ | ||||
|        language != 'zh': | ||||
|         language = 'en' | ||||
| 
 | ||||
|     params['url'] = search_url.format(offset=offset, | ||||
|                                       number_of_results=number_of_results, | ||||
|                                       query=urlencode({'q': query}), | ||||
|                                       language=language, | ||||
|                                       categorie=categorie) | ||||
| 
 | ||||
|     params['headers']['Referer'] = url | ||||
| 
 | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
| # get response from search-request | ||||
| def response(resp): | ||||
|     # HTTP-Code 429: rate limit exceeded | ||||
|     if resp.status_code == 429: | ||||
|         raise Exception("rate limit has been exceeded!") | ||||
| 
 | ||||
|     results = [] | ||||
| 
 | ||||
|     search_res = loads(resp.text) | ||||
| 
 | ||||
|     # return empty array if there are no results | ||||
|     if not search_res.get('results', {}): | ||||
|         return [] | ||||
| 
 | ||||
|     # parse results | ||||
|     for result in search_res['results']: | ||||
|         publishedDate = None | ||||
|         result_json = {'url': result['url'], 'title': result['title'], | ||||
|                        'content': result['kwic']} | ||||
|         if result['news']: | ||||
|             result_json['publishedDate'] = \ | ||||
|                 datetime.datetime.fromtimestamp(result['date'] / 1000.0) | ||||
| 
 | ||||
|         # append image result if image url is set | ||||
|         if result['iurl']: | ||||
|             result_json['template'] = 'videos.html' | ||||
|             result_json['thumbnail'] = result['iurl'] | ||||
| 
 | ||||
|         results.append(result_json) | ||||
| 
 | ||||
|     # return results | ||||
|     return results | ||||
| @ -219,11 +219,6 @@ engines: | ||||
|     shortcut : et | ||||
|     disabled : True | ||||
| 
 | ||||
|   - name : faroo | ||||
|     engine : faroo | ||||
|     shortcut : fa | ||||
|     disabled : True | ||||
| 
 | ||||
|   - name : 1x | ||||
|     engine : www1x | ||||
|     shortcut : 1x | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user