Loading searx/engines/semantic_scholar.py 0 → 100644 +43 −0 Original line number Diff line number Diff line # 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 searx/settings.yml +3 −8 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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 Loading
searx/engines/semantic_scholar.py 0 → 100644 +43 −0 Original line number Diff line number Diff line # 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
searx/settings.yml +3 −8 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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