Sha256: 478127925ff5e46df0b94f4a3e7566d545f9de5270f9240a0361ea542f69491f
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
require 'mechanize' module TorrentSearch module Trackers module KickAss class Scraper BASE_URL = "http://kickass.to/usearch" LIMIT = 10 def initialize(search_terms, options = {}) @search_terms = search_terms @options = options end def search search_results.map do |row| Torrent.new(row) end rescue Mechanize::ResponseCodeError [] end private def search_results page.search('table.data tr').tap do |results| results.shift end.take(limit) end def limit @options.fetch 'limit', LIMIT end def page @page ||= agent.get search_url end def search_url terms = @search_terms.join("%20") [BASE_URL, terms, search_append].join "/" end def search_append "?field=seeders&sorder=desc" end def agent @agent ||= Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' } end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems