mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	Add Creative Commons search engine
This commit is contained in:
		
							parent
							
								
									006f206dc9
								
							
						
					
					
						commit
						c4c1636b18
					
				
					 2 changed files with 58 additions and 0 deletions
				
			
		
							
								
								
									
										53
									
								
								searx/engines/ccengine.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								searx/engines/ccengine.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | ||||||
|  | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  |  Creative Commons search engine (Images) | ||||||
|  | 
 | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from json import loads | ||||||
|  | from urllib.parse import urlencode | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | about = { | ||||||
|  |     "website": 'https://search.creativecommons.org/', | ||||||
|  |     "wikidata_id": None, | ||||||
|  |     "official_api_documentation": 'https://api.creativecommons.engineering/v1/', | ||||||
|  |     "use_official_api": True, | ||||||
|  |     "require_api_key": False, | ||||||
|  |     "results": 'JSON', | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | categories = ['images'] | ||||||
|  | 
 | ||||||
|  | paging = True | ||||||
|  | nb_per_page = 20 | ||||||
|  | 
 | ||||||
|  | base_url = 'https://api.creativecommons.engineering/v1/images?' | ||||||
|  | search_string = '&page={page}&page_size={nb_per_page}&format=json&{query}' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def request(query, params): | ||||||
|  | 
 | ||||||
|  |     search_path = search_string.format( | ||||||
|  |         query=urlencode({'q': query}), | ||||||
|  |         nb_per_page=nb_per_page, | ||||||
|  |         page=params['pageno']) | ||||||
|  | 
 | ||||||
|  |     params['url'] = base_url + search_path | ||||||
|  | 
 | ||||||
|  |     return params | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def response(resp): | ||||||
|  |     results = [] | ||||||
|  | 
 | ||||||
|  |     json_data = loads(resp.text) | ||||||
|  | 
 | ||||||
|  |     for result in json_data['results']: | ||||||
|  |         results.append({'url': result['foreign_landing_url'], | ||||||
|  |                         'title': result['title'], | ||||||
|  |                         'img_src': result['url'], | ||||||
|  |                         'template': 'images.html'}) | ||||||
|  | 
 | ||||||
|  |     return results | ||||||
|  | @ -256,6 +256,11 @@ engines: | ||||||
|       require_api_key: false |       require_api_key: false | ||||||
|       results: HTML |       results: HTML | ||||||
| 
 | 
 | ||||||
|  |   - name : ccengine | ||||||
|  |     engine : ccengine | ||||||
|  |     categories : images | ||||||
|  |     shortcut : cce | ||||||
|  | 
 | ||||||
|   - name : crossref |   - name : crossref | ||||||
|     engine : json_engine |     engine : json_engine | ||||||
|     paging : True |     paging : True | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 mrwormo
						mrwormo