class TorrentFinder::Adapters::PopgoAdapter

Public Class Methods

name() click to toggle source

name of the adapter

# File lib/torrent-finder/adapters/popgo_adapter.rb, line 9
def self.name
  "popgo"
end

Public Instance Methods

list(page=0) click to toggle source

list recently available torrent

# File lib/torrent-finder/adapters/popgo_adapter.rb, line 14
def list(page=0)
  url = page == 0 ? "http://share.popgo.org/" : "http://share.popgo.org/search.php?title=&groups=&uploader=&sorts=&orderby=&page=#{(page+1).to_s}"
  response = HTTParty.get(url)
  parse_html(response.body)
end

Protected Instance Methods

parse_html(html) click to toggle source
# File lib/torrent-finder/adapters/popgo_adapter.rb, line 27
def parse_html(html)
  doc = Nokogiri::HTML(html)
  rows = doc.search("#index_maintable tr")
  rows.collect do |row| 
    seed = row.xpath('.//*[@class="inde_tab_seedname"]').first
    name = seed.text.strip rescue nil
    url = row.xpath('.//a[@title="下载种子"]').first["href"] rescue nil

    Torrent.new(name, url)
  end.select {|row| row.name && row.url }
end