mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
43 lines
1 KiB
Python
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
|