forked from zaclys/searxng
		
	Merge branch 'master' into add_ccctv_to_settings
This commit is contained in:
		
						commit
						e6d69b082f
					
				
					 2 changed files with 66 additions and 0 deletions
				
			
		
							
								
								
									
										57
									
								
								searx/engines/searx_engine.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								searx/engines/searx_engine.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | ||||||
|  | """ | ||||||
|  |  Searx (all) | ||||||
|  | 
 | ||||||
|  |  @website     https://github.com/asciimoo/searx | ||||||
|  |  @provide-api yes (https://asciimoo.ithub.io/searx/dev/search_api.html) | ||||||
|  | 
 | ||||||
|  |  @using-api   yes | ||||||
|  |  @results     JSON | ||||||
|  |  @stable      yes (using api) | ||||||
|  |  @parse       url, title, content | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from json import loads | ||||||
|  | from searx.engines import categories as searx_categories | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | categories = searx_categories.keys() | ||||||
|  | 
 | ||||||
|  | # search-url | ||||||
|  | instance_urls = [] | ||||||
|  | instance_index = 0 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # do search-request | ||||||
|  | def request(query, params): | ||||||
|  |     global instance_index | ||||||
|  |     params['url'] = instance_urls[instance_index % len(instance_urls)] | ||||||
|  |     params['method'] = 'POST' | ||||||
|  | 
 | ||||||
|  |     instance_index += 1 | ||||||
|  | 
 | ||||||
|  |     params['data'] = { | ||||||
|  |         'q': query, | ||||||
|  |         'pageno': params['pageno'], | ||||||
|  |         'language': params['language'], | ||||||
|  |         'time_range': params['time_range'], | ||||||
|  |         'category': params['category'], | ||||||
|  |         'format': 'json' | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return params | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # get response from search-request | ||||||
|  | def response(resp): | ||||||
|  | 
 | ||||||
|  |     response_json = loads(resp.text) | ||||||
|  |     results = response_json['results'] | ||||||
|  | 
 | ||||||
|  |     for i in ('answers', 'infoboxes'): | ||||||
|  |         results.extend(response_json[i]) | ||||||
|  | 
 | ||||||
|  |     results.extend({'suggestion': s} for s in response_json['suggestions']) | ||||||
|  | 
 | ||||||
|  |     results.append({'number_of_results': response_json['number_of_results']}) | ||||||
|  | 
 | ||||||
|  |     return results | ||||||
|  | @ -174,6 +174,7 @@ engines: | ||||||
|     suggestion_xpath : //a[@class="crossreference"] |     suggestion_xpath : //a[@class="crossreference"] | ||||||
|     first_page_num : 0 |     first_page_num : 0 | ||||||
|     shortcut : et |     shortcut : et | ||||||
|  |     disabled : True | ||||||
| 
 | 
 | ||||||
| # api-key required: http://www.faroo.com/hp/api/api.html#key | # api-key required: http://www.faroo.com/hp/api/api.html#key | ||||||
| #  - name : faroo | #  - name : faroo | ||||||
|  | @ -451,6 +452,14 @@ engines: | ||||||
|     shortcut : scc |     shortcut : scc | ||||||
|     disabled : True |     disabled : True | ||||||
| 
 | 
 | ||||||
|  | #  - name : searx | ||||||
|  | #    engine : searx_engine | ||||||
|  | #    shortcut : se | ||||||
|  | #    instance_urls : | ||||||
|  | #        - http://127.0.0.1:8888/ | ||||||
|  | #        - ... | ||||||
|  | #    disabled : True | ||||||
|  | 
 | ||||||
|   - name : spotify |   - name : spotify | ||||||
|     engine : spotify |     engine : spotify | ||||||
|     shortcut : stf |     shortcut : stf | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Stefan Antoni
						Stefan Antoni