Add Microsoft Academic search engine
This commit is contained in:
		
							parent
							
								
									31866d9f33
								
							
						
					
					
						commit
						61fe5daf30
					
				| @ -6,7 +6,8 @@ search_url = None | |||||||
| url_query = None | url_query = None | ||||||
| content_query = None | content_query = None | ||||||
| title_query = None | title_query = None | ||||||
| # suggestion_xpath = '' | suggestion_query = '' | ||||||
|  | results_query = '' | ||||||
| 
 | 
 | ||||||
| # parameters for engines with paging support | # parameters for engines with paging support | ||||||
| # | # | ||||||
| @ -90,12 +91,23 @@ def request(query, params): | |||||||
| 
 | 
 | ||||||
| def response(resp): | def response(resp): | ||||||
|     results = [] |     results = [] | ||||||
| 
 |  | ||||||
|     json = loads(resp.text) |     json = loads(resp.text) | ||||||
|  |     if results_query: | ||||||
|  |         for result in query(json, results_query)[0]: | ||||||
|  |             url = query(result, url_query)[0] | ||||||
|  |             title = query(result, title_query)[0] | ||||||
|  |             content = query(result, content_query)[0] | ||||||
|  |             results.append({'url': url, 'title': title, 'content': content}) | ||||||
|  |     else: | ||||||
|  |         for url, title, content in zip( | ||||||
|  |             query(json, url_query), | ||||||
|  |             query(json, title_query), | ||||||
|  |             query(json, content_query) | ||||||
|  |         ): | ||||||
|  |             results.append({'url': url, 'title': title, 'content': content}) | ||||||
| 
 | 
 | ||||||
|     urls = query(json, url_query) |     if not suggestion_query: | ||||||
|     contents = query(json, content_query) |         return results | ||||||
|     titles = query(json, title_query) |     for suggestion in query(json, suggestion_query): | ||||||
|     for url, title, content in zip(urls, titles, contents): |         results.append({'suggestion': suggestion}) | ||||||
|         results.append({'url': url, 'title': title, 'content': content}) |  | ||||||
|     return results |     return results | ||||||
|  | |||||||
| @ -287,6 +287,19 @@ engines: | |||||||
|     timeout : 6.0 |     timeout : 6.0 | ||||||
|     disabled : True |     disabled : True | ||||||
| 
 | 
 | ||||||
|  |   - name : microsoft academic | ||||||
|  |     engine : json_engine | ||||||
|  |     paging : True | ||||||
|  |     search_url : https://academic.microsoft.com/api/search/GetEntityResults?query=%40{query}%40&filters=&offset={pageno}&limit=8&correlationId=undefined | ||||||
|  |     results_query : results | ||||||
|  |     url_query : u | ||||||
|  |     title_query : dn | ||||||
|  |     content_query : d | ||||||
|  |     page_size : 8 | ||||||
|  |     first_page_num : 0 | ||||||
|  |     categories : science | ||||||
|  |     shortcut : ma | ||||||
|  | 
 | ||||||
|   - name : mixcloud |   - name : mixcloud | ||||||
|     engine : mixcloud |     engine : mixcloud | ||||||
|     shortcut : mc |     shortcut : mc | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 David A Roberts
						David A Roberts