mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[enh] add support for yacy engine (localhost)
This commit is contained in:
		
							parent
							
								
									13c48a6d9b
								
							
						
					
					
						commit
						a492ca6ded
					
				
							
								
								
									
										38
									
								
								searx/engines/yacy.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								searx/engines/yacy.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					from json import loads
 | 
				
			||||||
 | 
					from urllib import urlencode, quote
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					url = 'http://localhost:8090'
 | 
				
			||||||
 | 
					search_url = '/yacysearch.json?{query}&maximumRecords=10'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def request(query, params):
 | 
				
			||||||
 | 
					    params['url'] = url + search_url.format(query=urlencode({'query':query}))
 | 
				
			||||||
 | 
					    return params
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def response(resp):
 | 
				
			||||||
 | 
					    raw_search_results = loads(resp.text)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if not len(raw_search_results):
 | 
				
			||||||
 | 
					        return []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    search_results = raw_search_results.get('channels', {})[0].get('items', [])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    results = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for result in search_results:
 | 
				
			||||||
 | 
					        tmp_result = {}
 | 
				
			||||||
 | 
					        tmp_result['title'] = result['title']
 | 
				
			||||||
 | 
					        tmp_result['url'] = result['link']
 | 
				
			||||||
 | 
					        tmp_result['content'] = '' 
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if len(result['description']):
 | 
				
			||||||
 | 
					            tmp_result['content'] += result['description'] +"<br/>" 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if len(result['pubDate']):
 | 
				
			||||||
 | 
					            tmp_result['content'] += result['pubDate'] + "<br/>"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if result['size'] != '-1':
 | 
				
			||||||
 | 
					            tmp_result['content'] += result['sizename']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        results.append(tmp_result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return results
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user