.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.engines.solidtorrents Namespace Reference

Functions

 request (query, params)
 
 response (resp)
 

Variables

dict about
 
list categories = ['files']
 
bool paging = True
 
str base_url = 'https://solidtorrents.to'
 

Detailed Description

SolidTorrents

Function Documentation

◆ request()

searx.engines.solidtorrents.request ( query,
params )

Definition at line 36 of file solidtorrents.py.

36def request(query, params):
37 if isinstance(base_url, list):
38 params['base_url'] = random.choice(base_url)
39 else:
40 params['base_url'] = base_url
41 search_url = params['base_url'] + '/search?{query}'
42 query = urlencode({'q': query, 'page': params['pageno']})
43 params['url'] = search_url.format(query=query)
44 return params
45
46

◆ response()

searx.engines.solidtorrents.response ( resp)

Definition at line 47 of file solidtorrents.py.

47def response(resp):
48 results = []
49 dom = html.fromstring(resp.text)
50
51 for result in eval_xpath(dom, '//li[contains(@class, "search-result")]'):
52 torrentfile = eval_xpath_getindex(result, './/a[contains(@class, "dl-torrent")]/@href', 0, None)
53 magnet = eval_xpath_getindex(result, './/a[contains(@class, "dl-magnet")]/@href', 0, None)
54 if torrentfile is None or magnet is None:
55 continue # ignore anime results that which aren't actually torrents
56 title = eval_xpath_getindex(result, './/h5[contains(@class, "title")]', 0, None)
57 url = eval_xpath_getindex(result, './/h5[contains(@class, "title")]/a/@href', 0, None)
58 categ = eval_xpath(result, './/a[contains(@class, "category")]')
59 stats = eval_xpath_list(result, './/div[contains(@class, "stats")]/div', min_len=5)
60
61 params = {
62 'seed': extract_text(stats[3]),
63 'leech': extract_text(stats[2]),
64 'title': extract_text(title),
65 'url': resp.search_params['base_url'] + url,
66 'filesize': get_torrent_size(*extract_text(stats[1]).split()),
67 'magnetlink': magnet,
68 'torrentfile': torrentfile,
69 'metadata': extract_text(categ),
70 'template': "torrent.html",
71 }
72
73 try:
74 params['publishedDate'] = datetime.strptime(extract_text(stats[4]), '%b %d, %Y')
75 except ValueError:
76 pass
77
78 results.append(params)
79
80 return results

Variable Documentation

◆ about

dict searx.engines.solidtorrents.about
Initial value:
1= {
2 "website": 'https://www.solidtorrents.to/',
3 "wikidata_id": None,
4 "official_api_documentation": None,
5 "use_official_api": False,
6 "require_api_key": False,
7 "results": 'HTML',
8}

Definition at line 20 of file solidtorrents.py.

◆ base_url

str searx.engines.solidtorrents.base_url = 'https://solidtorrents.to'

Definition at line 33 of file solidtorrents.py.

◆ categories

list searx.engines.solidtorrents.categories = ['files']

Definition at line 29 of file solidtorrents.py.

◆ paging

bool searx.engines.solidtorrents.paging = True

Definition at line 30 of file solidtorrents.py.