| 123456789101112131415161718192021222324252627282930313233343536373839 | from lxml import htmlfrom searx.engines.xpath import extract_textfrom searx.utils import get_torrent_sizefrom searx.url_utils import quote, urljoinurl = 'https://1337x.to/'search_url = url + 'search/{search_term}/{pageno}/'categories = ['videos']paging = Truedef request(query, params):    params['url'] = search_url.format(search_term=quote(query), pageno=params['pageno'])    return paramsdef response(resp):    results = []    dom = html.fromstring(resp.text)    for result in dom.xpath('//table[contains(@class, "table-list")]/tbody//tr'):        href = urljoin(url, result.xpath('./td[contains(@class, "name")]/a[2]/@href')[0])        title = extract_text(result.xpath('./td[contains(@class, "name")]/a[2]'))        seed = extract_text(result.xpath('.//td[contains(@class, "seeds")]'))        leech = extract_text(result.xpath('.//td[contains(@class, "leeches")]'))        filesize_info = extract_text(result.xpath('.//td[contains(@class, "size")]/text()'))        filesize, filesize_multiplier = filesize_info.split()        filesize = get_torrent_size(filesize, filesize_multiplier)        results.append({'url': href,                        'title': title,                        'seed': seed,                        'leech': leech,                        'filesize': filesize,                        'template': 'torrent.html'})    return results
 |