Add nibl search engine
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
1524f77648
commit
2b48ab873e
|
@ -22,4 +22,7 @@ WORKDIR /searx
|
|||
RUN sed -i -e 's/default_on = False/default_on = True/' searx/plugins/oa_doi_rewrite.py \
|
||||
&& sed -i -e 's/oadoi.org/sci-hub.tw/' searx/preferences.py
|
||||
|
||||
COPY engines/* searx/engines/
|
||||
COPY result_templates/* searx/templates/oscar/result_templates/
|
||||
|
||||
ENTRYPOINT ["tini", "--", "gunicorn", "searx.webapp", "--bind", "[::]:8000", "-w", "4"]
|
||||
|
|
28
engines/nibl.py
Normal file
28
engines/nibl.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
from lxml import html
|
||||
from searx.engines.xpath import extract_text
|
||||
from searx.url_utils import quote
|
||||
|
||||
url = 'https://nibl.co.uk/bots.php'
|
||||
search_url = url + '?search={query}'
|
||||
|
||||
def request(query, params):
|
||||
params['url'] = search_url.format(query=quote(query))
|
||||
|
||||
return params
|
||||
|
||||
def response(resp):
|
||||
results = []
|
||||
|
||||
dom = html.fromstring(resp.text.encode('utf-8'))
|
||||
|
||||
for result in dom.xpath('//tr[starts-with(@class, "botlistitem")]'):
|
||||
filename = extract_text(result.xpath('td[@class="filename"]/text()'))
|
||||
href = url + result.xpath('td[@class="filename"]/a/@href')[0]
|
||||
filesize = result.xpath('td[@class="filesize"]/text()')[0]
|
||||
|
||||
results.append({'url': href,
|
||||
'title': filename,
|
||||
'filesize': filesize,
|
||||
'template': 'file.html'})
|
||||
|
||||
return results
|
15
result_templates/file.html
Normal file
15
result_templates/file.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
{% from 'oscar/macros.html' import result_header, result_sub_header, result_footer, result_footer_rtl, icon %}
|
||||
|
||||
{{ result_header(result, favicons) }}
|
||||
{{ result_sub_header(result) }}
|
||||
|
||||
{% if result.filesize %}<br />{{ icon('floppy-disk') }} {{ _('Filesize') }}
|
||||
<span class="badge">
|
||||
{{ result.filesize }}
|
||||
</span>{% endif %}
|
||||
|
||||
{% if rtl %}
|
||||
{{ result_footer_rtl(result) }}
|
||||
{% else %}
|
||||
{{ result_footer(result) }}
|
||||
{% endif %}
|
Reference in a new issue