diff options
author | Léon Tiekötter <leon@tiekoetter.com> | 2022-01-07 01:30:52 +0100 |
---|---|---|
committer | Léon Tiekötter <leon@tiekoetter.com> | 2022-01-07 01:35:13 +0100 |
commit | 3ab826de225a19133ca08137f5a52aafdd384c5e (patch) | |
tree | b6275313ce9a5d90bf09bf350bc59913b52050e1 /searx/engines | |
parent | df52ee711b03c964779a32d0f1753e06281cdd8e (diff) | |
download | searxng-3ab826de225a19133ca08137f5a52aafdd384c5e.tar.gz searxng-3ab826de225a19133ca08137f5a52aafdd384c5e.zip |
Drop microsoft academic engine
Microsoft academic was discontinued on 2021-12-31.
Source: https://www.microsoft.com/en-us/research/project/academic/articles/microsoft-academic-to-expand-horizons-with-community-driven-approach/
Diffstat (limited to 'searx/engines')
-rw-r--r-- | searx/engines/microsoft_academic.py | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/searx/engines/microsoft_academic.py b/searx/engines/microsoft_academic.py deleted file mode 100644 index a869daf2f..000000000 --- a/searx/engines/microsoft_academic.py +++ /dev/null @@ -1,77 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -""" - Microsoft Academic (Science) -""" - -from json import dumps, loads -from searx.utils import html_to_text - -# about -about = { - "website": 'https://academic.microsoft.com', - "wikidata_id": 'Q28136779', - "official_api_documentation": 'http://ma-graph.org/', - "use_official_api": False, - "require_api_key": False, - "results": 'JSON', -} - -categories = ['images'] -paging = True -search_url = 'https://academic.microsoft.com/api/search' -_paper_url = 'https://academic.microsoft.com/paper/{id}/reference' - - -def request(query, params): - params['url'] = search_url - params['method'] = 'POST' - params['headers']['content-type'] = 'application/json; charset=utf-8' - params['data'] = dumps( - { - 'query': query, - 'queryExpression': '', - 'filters': [], - 'orderBy': 0, - 'skip': (params['pageno'] - 1) * 10, - 'sortAscending': True, - 'take': 10, - 'includeCitationContexts': False, - 'profileId': '', - } - ) - - return params - - -def response(resp): - results = [] - response_data = loads(resp.text) - if not response_data: - return results - - for result in response_data.get('pr', {}): - if 'dn' not in result['paper']: - continue - - title = result['paper']['dn'] - content = _get_content(result['paper']) - url = _paper_url.format(id=result['paper']['id']) - results.append( - { - 'url': url, - 'title': html_to_text(title), - 'content': html_to_text(content), - } - ) - - return results - - -def _get_content(result): - if 'd' in result: - content = result['d'] - if len(content) > 300: - return content[:300] + '...' - return content - - return '' |