| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
""" not Evil (Onions)"""from urllib.parse import urlencodefrom lxml import htmlfrom searx.engines.xpath import extract_textabout = {    "website": 'http://hss3uro2hsxfogfq.onion',    "wikidata_id": None,    "official_api_documentation": 'http://hss3uro2hsxfogfq.onion/api.htm',    "use_official_api": False,    "require_api_key": False,    "results": 'HTML',}categories = ['onions']paging = Truepage_size = 20base_url = 'http://hss3uro2hsxfogfq.onion/'search_url = 'index.php?{query}&hostLimit=20&start={pageno}&numRows={page_size}'results_xpath = '//*[@id="content"]/div/p'url_xpath = './span[1]'title_xpath = './a[1]'content_xpath = './text()'def request(query, params):    offset = (params['pageno'] - 1) * page_size    params['url'] = base_url + search_url.format(pageno=offset,                                                 query=urlencode({'q': query}),                                                 page_size=page_size)    return paramsdef response(resp):    results = []        resp.encoding = 'utf8'    dom = html.fromstring(resp.text)        for result in dom.xpath(results_xpath):        url = extract_text(result.xpath(url_xpath)[0])        title = extract_text(result.xpath(title_xpath)[0])        content = extract_text(result.xpath(content_xpath))                results.append({'url': url,                        'title': title,                        'content': content,                        'is_onion': True})    return results
 |