forked from zaclys/searxng
		
	Adds the Unsplash image engine
This commit is contained in:
		
							parent
							
								
									bc7c8a3973
								
							
						
					
					
						commit
						cd7849ffc8
					
				
					 2 changed files with 44 additions and 0 deletions
				
			
		
							
								
								
									
										39
									
								
								searx/engines/unsplash.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								searx/engines/unsplash.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | ||||||
|  | """ | ||||||
|  |  Unsplash | ||||||
|  | 
 | ||||||
|  |  @website     https://unsplash.com | ||||||
|  |  @provide-api yes (https://unsplash.com/developers) | ||||||
|  | 
 | ||||||
|  |  @using-api   no | ||||||
|  |  @results     JSON (using search portal's infiniscroll API) | ||||||
|  |  @stable      no (JSON format could change any time) | ||||||
|  |  @parse       url, title, img_src, thumbnail_src | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from searx.url_utils import urlencode | ||||||
|  | from json import loads | ||||||
|  | 
 | ||||||
|  | url = 'https://unsplash.com/' | ||||||
|  | search_url = url + 'napi/search/photos?' | ||||||
|  | categories = ['images'] | ||||||
|  | page_size = 20 | ||||||
|  | paging = True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def request(query, params): | ||||||
|  |     params['url'] = search_url + urlencode({'query': query, 'page': params['pageno'], 'per_page': page_size}) | ||||||
|  |     return params | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def response(resp): | ||||||
|  |     results = [] | ||||||
|  |     json_data = loads(resp.text) | ||||||
|  | 
 | ||||||
|  |     for result in json_data['results']: | ||||||
|  |         results.append({'template': 'images.html', | ||||||
|  |                         'url': result['links']['html'], | ||||||
|  |                         'thumbnail_src': result['urls']['thumb'], | ||||||
|  |                         'img_src': result['urls']['full'], | ||||||
|  |                         'title': result['description'], | ||||||
|  |                         'content': ''}) | ||||||
|  |     return results | ||||||
|  | @ -642,6 +642,11 @@ engines: | ||||||
| #    content_xpath : //*[@class="meaning"] | #    content_xpath : //*[@class="meaning"] | ||||||
| #    shortcut : ud | #    shortcut : ud | ||||||
| 
 | 
 | ||||||
|  |   - name : unsplash | ||||||
|  |     engine : unsplash | ||||||
|  |     disabled: True | ||||||
|  |     shortcut : us | ||||||
|  | 
 | ||||||
|   - name : yahoo |   - name : yahoo | ||||||
|     engine : yahoo |     engine : yahoo | ||||||
|     shortcut : yh |     shortcut : yh | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Denis Wernert
						Denis Wernert