diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2021-07-11 13:04:14 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2021-07-11 13:24:33 +0200 |
commit | 513c73a309335fd7197d3cd4b246a9c7d2654a2a (patch) | |
tree | e32f23b4d4d592c24cd55f293514e6919d2e0eb2 /searx/engines/torrentz.py | |
parent | 438357a5b8fea495cb6252e2a909068e64ac744c (diff) | |
download | searxng-513c73a309335fd7197d3cd4b246a9c7d2654a2a.tar.gz searxng-513c73a309335fd7197d3cd4b246a9c7d2654a2a.zip |
[drop] engine torrentz: torrentz2.eu and torrentz2.is are offline
[1] https://torrentfreak.com/torrentz2-eu-domain-suspended-by-registry-on-public-prosecutors-order-200628/
Suggested-by: @rasos https://github.com/searx/searx/issues/1875#issuecomment-877755872
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/engines/torrentz.py')
-rw-r--r-- | searx/engines/torrentz.py | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/searx/engines/torrentz.py b/searx/engines/torrentz.py deleted file mode 100644 index 884741d47..000000000 --- a/searx/engines/torrentz.py +++ /dev/null @@ -1,99 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -""" - Torrentz2.is (BitTorrent meta-search engine) -""" - -import re -from urllib.parse import urlencode -from lxml import html -from datetime import datetime -from searx.utils import extract_text, get_torrent_size - -# about -about = { - "website": 'https://torrentz2.is/', - "wikidata_id": 'Q1156687', - "official_api_documentation": 'https://torrentz.is/torrentz.btsearch', - "use_official_api": False, - "require_api_key": False, - "results": 'HTML', -} - -# engine dependent config -categories = ['files'] -paging = True - -# search-url -# https://torrentz2.is/search?f=EXAMPLE&p=6 -base_url = 'https://torrentz2.is/' -search_url = base_url + 'search?{query}' - - -# do search-request -def request(query, params): - page = params['pageno'] - 1 - query = urlencode({'f': query, 'p': page}) - params['url'] = search_url.format(query=query) - return params - - -# get response from search-request -def response(resp): - results = [] - - dom = html.fromstring(resp.text) - - for result in dom.xpath('//div[@class="results"]/dl'): - name_cell = result.xpath('./dt')[0] - title = extract_text(name_cell) - - # skip rows that do not contain a link to a torrent - links = name_cell.xpath('./a') - if len(links) != 1: - continue - - # extract url and remove a slash in the beginning - link = links[0].attrib.get('href').lstrip('/') - - seed = 0 - leech = 0 - try: - seed = int(result.xpath('./dd/span[4]/text()')[0].replace(',', '')) - leech = int(result.xpath('./dd/span[5]/text()')[0].replace(',', '')) - except: - pass - - params = { - 'url': base_url + link, - 'title': title, - 'seed': seed, - 'leech': leech, - 'template': 'torrent.html' - } - - # let's try to calculate the torrent size - try: - filesize_info = result.xpath('./dd/span[3]/text()')[0] - filesize, filesize_multiplier = filesize_info.split() - filesize = get_torrent_size(filesize, filesize_multiplier) - - params['filesize'] = filesize - except: - pass - - # does our link contain a valid SHA1 sum? - if re.compile('[0-9a-fA-F]{40}').match(link): - # add a magnet link to the result - params['magnetlink'] = 'magnet:?xt=urn:btih:' + link - - # extract and convert creation date - try: - date_ts = result.xpath('./dd/span[2]')[0].attrib.get('title') - date = datetime.fromtimestamp(float(date_ts)) - params['publishedDate'] = date - except: - pass - - results.append(params) - - return results |