forked from zaclys/searxng
fix Semantic Scholar engine
This commit is contained in:
parent
28286cf3f2
commit
f596f5767b
|
@ -0,0 +1,43 @@
|
|||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""
|
||||
Semantic Scholar (Science)
|
||||
"""
|
||||
|
||||
from json import dumps, loads
|
||||
|
||||
|
||||
search_url = 'https://www.semanticscholar.org/api/1/search'
|
||||
|
||||
|
||||
def request(query, params):
|
||||
params['url'] = search_url
|
||||
params['method'] = 'POST'
|
||||
params['headers']['content-type'] = 'application/json'
|
||||
params['data'] = dumps({
|
||||
"queryString": query,
|
||||
"page": params['pageno'],
|
||||
"pageSize": 10,
|
||||
"sort": "relevance",
|
||||
"useFallbackRankerService": False,
|
||||
"useFallbackSearchCluster": False,
|
||||
"performTitleMatch": True,
|
||||
"getQuerySuggestions": False,
|
||||
"authors": [],
|
||||
"coAuthors": [],
|
||||
"venues": [],
|
||||
"performTitleMatch": True,
|
||||
})
|
||||
return params
|
||||
|
||||
|
||||
def response(resp):
|
||||
res = loads(resp.text)
|
||||
results = []
|
||||
for result in res['results']:
|
||||
results.append({
|
||||
'url': result['primaryPaperLink']['url'],
|
||||
'title': result['title']['text'],
|
||||
'content': result['paperAbstractTruncated']
|
||||
})
|
||||
|
||||
return results
|
|
@ -918,13 +918,8 @@ engines:
|
|||
# disabled : True
|
||||
|
||||
- name : semantic scholar
|
||||
engine : xpath
|
||||
paging : True
|
||||
search_url : https://www.semanticscholar.org/search?q={query}&sort=relevance&page={pageno}&ae=false
|
||||
results_xpath : //article
|
||||
url_xpath : .//div[@class="search-result-title"]/a/@href
|
||||
title_xpath : .//div[@class="search-result-title"]/a
|
||||
content_xpath : .//div[@class="search-result-abstract"]
|
||||
engine : semantic_scholar
|
||||
disabled : True
|
||||
shortcut : se
|
||||
categories : science
|
||||
about:
|
||||
|
@ -933,7 +928,7 @@ engines:
|
|||
official_api_documentation: https://api.semanticscholar.org/
|
||||
use_official_api: false
|
||||
require_api_key: false
|
||||
results: HTML
|
||||
results: JSON
|
||||
|
||||
# Spotify needs API credentials
|
||||
# - name : spotify
|
||||
|
|
Loading…
Reference in New Issue