searxng/searx/engines/torlock.py
2024-09-28 17:34:28 +03:00

43 lines
1 KiB
Python

from lxml import html
from searx.utils import (
extract_text,
eval_xpath,
)
about = {
"website": 'https://www.torlock.com',
}
base_url = 'https://www.torlock.com'
paging = True
def request(query, params):
params['url'] = f"{base_url}/all/torrents/{query}/{params.get('pageno', 1)}.html"
return params
def response(resp):
results = []
dom = html.fromstring(resp.text)
for result in eval_xpath(dom, '(.//tr)'):
url_elem = result.xpath('.//div[@style="float:left"]/a/@href')
if url_elem:
url = url_elem[0]
if not (url.startswith("www") or url.startswith("http")):
url = f"{base_url}{url}"
else:
url = None
else:
url = None
title_elem = result.xpath('.//div[@style="float:left"]/a/b')
title = extract_text(title_elem[0]) if title_elem else None
if title and url:
results.append({
'url': url,
'title': title,
})
return results