The Torrent API
What it does
The Torrent API brings torrent downloading to the ruby language. It allows for searching numerous torrent websites using an easy-to-use ruby DSL.
How it does it
Using Nokogiri or Hpricot, it takes a search term (and sometimes a category) and grabs the page and parses through the HTML to scrape the results, leaving you with just the most important information.
Search the default service (the pirate bay)
t = TorrentApi.new t.search_term = 'james and the giant peach' results = t.search
Query all torrent websites and work with those torrents
torrents = TorrentApi.new(:all, 'the royal tenenbaums') torrent = torrents.first torrent.name => "The.Royal.Tenenbaums.XviD.DVD-Rip" torrent.seeds => 128 torrent.size # size is returned in bytes => 702840000.0
:name, :seeds, :leeches, :category, :link, :magnet_link, :status, :size
Select a service to use and search
t = TorrentApi.new t.service = :demonoid t.search_term = 'james and the giant peach' results = t.search
Shorthand query all
TorrentApi.new(:all, "james and the giant peach")`
- The Piratey Bay
How to help
Add more torrent sites!
- Refactor all three search engines to use a shared torrent model
- More search engines!
- Need to add/remove dependencies - awesome_print and nokogiri
- Improve the ability to select a category (I think it defaults to a movie category right now)