@@ -0,0 +1,43 @@
1+# SPDX-License-Identifier: AGPL-3.0-or-later
2+"""
3+ Semantic Scholar (Science)
4+"""
5+
6+from json import dumps, loads
7+
8+
9+search_url = 'https://www.semanticscholar.org/api/1/search'
10+
11+
12+def request(query, params):
13+ params['url'] = search_url
14+ params['method'] = 'POST'
15+ params['headers']['content-type'] = 'application/json'
16+ params['data'] = dumps({
17+ "queryString": query,
18+ "page": params['pageno'],
19+ "pageSize": 10,
20+ "sort": "relevance",
21+ "useFallbackRankerService": False,
22+ "useFallbackSearchCluster": False,
23+ "performTitleMatch": True,
24+ "getQuerySuggestions": False,
25+ "authors": [],
26+ "coAuthors": [],
27+ "venues": [],
28+ "performTitleMatch": True,
29+ })
30+ return params
31+
32+
33+def response(resp):
34+ res = loads(resp.text)
35+ results = []
36+ for result in res['results']:
37+ results.append({
38+ 'url': result['primaryPaperLink']['url'],
39+ 'title': result['title']['text'],
40+ 'content': result['paperAbstractTruncated']
41+ })
42+
43+ return results