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
search(terms)
click to toggle source
search and return available torrent
# File lib/torrent-finder/adapters/popgo_adapter.rb, line 21 def search(terms) response = HTTParty.get("http://share.popgo.org/search.php", :query => {"title" => terms}) 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