.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.engines.doku Namespace Reference

Functions

 request (query, params)
 
 response (resp)
 

Variables

dict about
 
list categories = ['general']
 
bool paging = False
 
int number_of_results = 5
 
str base_url = 'http://localhost:8090'
 
tuple search_url
 

Detailed Description

 Doku Wiki

Function Documentation

◆ request()

searx.engines.doku.request ( query,
params )

Definition at line 40 of file doku.py.

40def request(query, params):
41
42 params['url'] = base_url + search_url.format(query=urlencode({'id': query}))
43
44 return params
45
46
47# get response from search-request

◆ response()

searx.engines.doku.response ( resp)

Definition at line 48 of file doku.py.

48def response(resp):
49 results = []
50
51 doc = fromstring(resp.text)
52
53 # parse results
54 # Quickhits
55 for r in eval_xpath(doc, '//div[@class="search_quickresult"]/ul/li'):
56 try:
57 res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
58 except: # pylint: disable=bare-except
59 continue
60
61 if not res_url:
62 continue
63
64 title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
65
66 # append result
67 results.append({'title': title, 'content': "", 'url': urljoin(base_url, res_url)})
68
69 # Search results
70 for r in eval_xpath(doc, '//dl[@class="search_results"]/*'):
71 try:
72 if r.tag == "dt":
73 res_url = eval_xpath(r, './/a[@class="wikilink1"]/@href')[-1]
74 title = extract_text(eval_xpath(r, './/a[@class="wikilink1"]/@title'))
75 elif r.tag == "dd":
76 content = extract_text(eval_xpath(r, '.'))
77
78 # append result
79 results.append({'title': title, 'content': content, 'url': urljoin(base_url, res_url)})
80 except: # pylint: disable=bare-except
81 continue
82
83 if not res_url:
84 continue
85
86 # return results
87 return results

Variable Documentation

◆ about

dict searx.engines.doku.about
Initial value:
1= {
2 "website": 'https://www.dokuwiki.org/',
3 "wikidata_id": 'Q851864',
4 "official_api_documentation": 'https://www.dokuwiki.org/devel:xmlrpc',
5 "use_official_api": False,
6 "require_api_key": False,
7 "results": 'HTML',
8}

Definition at line 12 of file doku.py.

◆ base_url

str searx.engines.doku.base_url = 'http://localhost:8090'

Definition at line 28 of file doku.py.

◆ categories

list searx.engines.doku.categories = ['general']

Definition at line 22 of file doku.py.

◆ number_of_results

int searx.engines.doku.number_of_results = 5

Definition at line 24 of file doku.py.

◆ paging

bool searx.engines.doku.paging = False

Definition at line 23 of file doku.py.

◆ search_url

tuple searx.engines.doku.search_url
Initial value:
1= (
2 # fmt: off
3 '/?do=search'
4 '&{query}'
5 # fmt: on
6)

Definition at line 29 of file doku.py.