• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python API for kickass.to

KickassAPI

This is an unofficial python API for kat.cr (formerly kickass.to) partially inspired by https://github.com/karan/TPB. Note: I am no longer maintaining this project, use with care.

Installation

pip install KickassAPI

Usage

Search represents http://kat.cr/usearch/, Latest http://kat.cr/new/, and User http://kat.cr/user/username/uploads/

from KickassAPI import Search, Latest, User, CATEGORY, ORDER

#Print the basic info about first 25 results of "Game of thrones" search
for t in Search("Game of thrones"):
    t.lookup()

#Do the same with second page
for t in Search("Game of thrones").next():
    t.lookup()

#Or
for t in Search("Gameof thrones").page(2):
    t.lookup()

#Order results by age
Search("Game of thrones").order(ORDER.AGE)

#Default order is descending, you can specify ascending order:
Search("Game of thrones").order(ORDER.AGE, ORDER.ASC)

#Specify category
Search("Game of thrones").category(CATEGORY.MOVIES)

#Feel free to chain these, but remember that order or category resets page to 1
Search("Game of thrones").category(CATEGORY.GAMES).order(ORDER.FILES_COUNT).next()

#Latest has the same behaviour as Search but lacks the ```category()``` method and has no query string
for t in Latest().order(ORDER.SEED):
    t.lookup()

#User also has the same behaviour as Search, and also lacks the ```category()``` method, but takes a username in place of a query string
for t in User('reduxionist'):
    t.lookup()

#Page, order and category can be also specified in constructor
Search("Game of thrones", category=CATEGORY.GAMES, order=ORDER.AGE, page=5)

#Get results from multiple pages
for t in Latest().order(ORDER.AGE).pages(3,6):
    t.lookup()

#Get results from all pages starting with the actual page
for t in Latest().all():
    t.lookup()

#Get list of torrent objects instead of iterator
Latest().list()

#pages(), all() and list() can't be followed by any other method!