diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2019-12-29 09:47:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-29 09:47:06 +0100 |
| commit | 36e72a46192235615f63a02984ab88c70145b0ec (patch) | |
| tree | 0c2e238ed8fd03a95a090692d0d761fe2ea13d79 /searx/engines/wikipedia.py | |
| parent | b2e1ee8d35050033b41765a2de49c0eea5f8b4b4 (diff) | |
| parent | f6d66c0f6f1d8f1f583d9000ee0123450cce8130 (diff) | |
Merge branch 'master' into fix-engine-spotify
Diffstat (limited to 'searx/engines/wikipedia.py')
| -rw-r--r-- | searx/engines/wikipedia.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py index 4dae735d1..a216ba886 100644 --- a/searx/engines/wikipedia.py +++ b/searx/engines/wikipedia.py @@ -21,7 +21,8 @@ search_url = base_url + u'w/api.php?'\ 'action=query'\ '&format=json'\ '&{query}'\ - '&prop=extracts|pageimages'\ + '&prop=extracts|pageimages|pageprops'\ + '&ppprop=disambiguation'\ '&exintro'\ '&explaintext'\ '&pithumbsize=300'\ @@ -79,12 +80,15 @@ def response(resp): # wikipedia article's unique id # first valid id is assumed to be the requested article + if 'pages' not in search_result['query']: + return results + for article_id in search_result['query']['pages']: page = search_result['query']['pages'][article_id] if int(article_id) > 0: break - if int(article_id) < 0: + if int(article_id) < 0 or 'disambiguation' in page.get('pageprops', {}): return [] title = page.get('title') @@ -96,6 +100,7 @@ def response(resp): extract = page.get('extract') summary = extract_first_paragraph(extract, title, image) + summary = summary.replace('() ', '') # link to wikipedia article wikipedia_link = base_url.format(language=url_lang(resp.search_params['language'])) \ |