forked from zaclys/searxng
		
	Merge pull request #2366 from dalf/remove-seedpeer
[remove] seedpeer engine
This commit is contained in:
		
						commit
						bd4869ecd0
					
				
					 2 changed files with 0 additions and 84 deletions
				
			
		|  | @ -1,78 +0,0 @@ | |||
| #  Seedpeer (Videos, Music, Files) | ||||
| # | ||||
| # @website     https://seedpeer.me | ||||
| # @provide-api no (nothing found) | ||||
| # | ||||
| # @using-api   no | ||||
| # @results     HTML (using search portal) | ||||
| # @stable      yes (HTML can change) | ||||
| # @parse       url, title, content, seed, leech, magnetlink | ||||
| 
 | ||||
| from lxml import html | ||||
| from json import loads | ||||
| from operator import itemgetter | ||||
| from urllib.parse import quote, urljoin | ||||
| from searx.utils import extract_text | ||||
| 
 | ||||
| 
 | ||||
| url = 'https://seedpeer.me/' | ||||
| search_url = url + 'search/{search_term}?page={page_no}' | ||||
| torrent_file_url = url + 'torrent/{torrent_hash}' | ||||
| 
 | ||||
| # specific xpath variables | ||||
| script_xpath = '//script[@type="text/javascript"][not(@src)]' | ||||
| torrent_xpath = '(//table)[2]/tbody/tr' | ||||
| link_xpath = '(./td)[1]/a/@href' | ||||
| age_xpath = '(./td)[2]' | ||||
| size_xpath = '(./td)[3]' | ||||
| 
 | ||||
| 
 | ||||
| # do search-request | ||||
| def request(query, params): | ||||
|     params['url'] = search_url.format(search_term=quote(query), | ||||
|                                       page_no=params['pageno']) | ||||
|     return params | ||||
| 
 | ||||
| 
 | ||||
| # get response from search-request | ||||
| def response(resp): | ||||
|     results = [] | ||||
|     dom = html.fromstring(resp.text) | ||||
|     result_rows = dom.xpath(torrent_xpath) | ||||
| 
 | ||||
|     try: | ||||
|         script_element = dom.xpath(script_xpath)[0] | ||||
|         json_string = script_element.text[script_element.text.find('{'):] | ||||
|         torrents_json = loads(json_string) | ||||
|     except: | ||||
|         return [] | ||||
| 
 | ||||
|     # parse results | ||||
|     for torrent_row, torrent_json in zip(result_rows, torrents_json['data']['list']): | ||||
|         title = torrent_json['name'] | ||||
|         seed = int(torrent_json['seeds']) | ||||
|         leech = int(torrent_json['peers']) | ||||
|         size = int(torrent_json['size']) | ||||
|         torrent_hash = torrent_json['hash'] | ||||
| 
 | ||||
|         torrentfile = torrent_file_url.format(torrent_hash=torrent_hash) | ||||
|         magnetlink = 'magnet:?xt=urn:btih:{}'.format(torrent_hash) | ||||
| 
 | ||||
|         age = extract_text(torrent_row.xpath(age_xpath)) | ||||
|         link = torrent_row.xpath(link_xpath)[0] | ||||
| 
 | ||||
|         href = urljoin(url, link) | ||||
| 
 | ||||
|         # append result | ||||
|         results.append({'url': href, | ||||
|                         'title': title, | ||||
|                         'content': age, | ||||
|                         'seed': seed, | ||||
|                         'leech': leech, | ||||
|                         'filesize': size, | ||||
|                         'torrentfile': torrentfile, | ||||
|                         'magnetlink': magnetlink, | ||||
|                         'template': 'torrent.html'}) | ||||
| 
 | ||||
|     # return results sorted by seeder | ||||
|     return sorted(results, key=itemgetter('seed'), reverse=True) | ||||
|  | @ -967,12 +967,6 @@ engines: | |||
|     page_size : 10 | ||||
|     disabled : True | ||||
| 
 | ||||
|   - name : seedpeer | ||||
|     shortcut : speu | ||||
|     engine : seedpeer | ||||
|     categories: files, music, videos | ||||
| 
 | ||||
| 
 | ||||
|   - name : naver | ||||
|     shortcut: nvr | ||||
|     engine: xpath | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Alexandre Flament
						Alexandre Flament