kat-cr est une application CLI simple et flexible et un module de nœud qui recherche des torrents dans kat.cr. L'API JSON n'est plus entièrement prise en charge par Kickass Torrents et le flux RSS fait également défaut. Le principal moteur de recherche basé sur un navigateur fourni par Kickass Torrents offre le plus de fonctionnalités, c'est donc ce que cette application utilise pour rechercher des torrents.
Pour utiliser l'application CLI, utilisez
npm install -g kat-cr
Cela installera un kickass
exécutable sur votre PATH
.
Pour l'utiliser comme module, installez-le sur votre projet avec
npm install --save kat-cr
Une recherche torrent de base ressemblerait à quelque chose comme
kickass -c tv south park
Dans cet exemple, l'indicateur -c facultatif a été transmis pour spécifier la catégorie de recherche. kat.cr renvoie les résultats de recherche par ensembles de 25 et limite les résultats à 10 000. Vous pouvez spécifier le numéro de page que vous souhaitez renvoyer en passant l'indicateur -p. Donc, si vous vouliez accéder à la deuxième page des torrents de South Park TV, vous exécuteriez
kickass south park -c tv -p 2
Par défaut, kickass
affichera des liens torrent directs mais si vous fournissez l'option -m
ou --magnet
, les liens renvoyés seront les liens magnétiques. A titre d'exemple :
kickass south park -c tv -p 2 -m
Les titres torrent seront affichés en jaune gras s'il s'agit de torrents publiés par un membre vérifié de Kickass Torrents, et il y aura un qualificatif ELITE
violet avant tout torrent publié par un membre élite de Kickass Torrents.
Et c'est tout ce qu'il y a à faire. L'application et le module classent les torrents par seeders par ordre décroissant par défaut. Pour modifier ce comportement, transmettez l'indicateur -f/--field ou -s/--sorder (détails sur les valeurs possibles pour ces options ci-dessous). Notez que vous n’êtes pas obligé d’entourer une requête de recherche multi-mots entre guillemets.
Pour utiliser ce module dans votre application, installez-le sur votre projet et utilisez
var kickass = require('kat-cr');
kat-cr
utilise une API Promise ; vous pouvez effectuer une recherche simple avec
kickass('search query').then(function (results) {
// do something with results
}, function (err) {
// handle error
});
Vous pouvez effectuer une recherche avancée en passant un objet à la fonction au lieu d'une chaîne. L'objet peut contenir les clés suivantes
search
{string} : la requête de recherchecategory
{string} : la catégorie de recherchepage
{numéro} : numéro de page des résultats renvoyésfield
{string} : Le champ par lequel les résultats sont triés, la valeur par défaut est 'seeders'. D'autres possibilités incluent "time_add", "files_count", "size" et "leechers".sorder
{string} : l'ordre dans lequel les résultats sont affichés, la valeur par défaut est 'desc'. Alternativement, vous pouvez utiliser 'asc' L'objet résolu par cette promesse est conçu pour imiter la réponse JSON renvoyée par l'API JSON Kickass Torrent actuellement déficiente en fonctionnalités, mais l'objet réel est un objet KickassResultGroup
personnalisé, qui à ce stade n'a aucune méthode sur son prototype, mais contient certaines propriétés pertinentes pour l'ensemble du résultat de recherche :
results.total_results
{number} : le montant total des résultats torrentresults.link
{string} : toujours 'http://kat.cr'results.language
{string} : En utilisant ce module, vous obtiendrez toujours 'en-us'results.list
{Array} : Un tableau contenant les torrents et leurs informations La majeure partie des informations sera dans results.list
. Les propriétés d'un objet torrent sont :
title
{string} : Le titre du torrentcategory
{string} : La catégorie du torrentlink
{string} : Le lien vers la page torrent sur kat.crpubDate
{Date} : une instance Date représentant la date de publication du torrenttorrentLink
{string} : Le lien http direct vers le fichier torrentmagnetLink
{string} : Le lien magnétique associé au torrentfiles
{number} : La quantité de fichiers associés au torrentcomments
{number} : Le nombre de commentaires reçus par le torrent sur kat.crhash
{number} : Un résumé de hachage du torrentpeers
{number} : Le nombre de pairs associés au torrentseeds
{number} : Le nombre de seeders associés au torrentleechs
{number} : Le nombre de sangsues téléchargeant le torrentsize
{number} : La taille des fichiers fournis par le torrent, en octetsverified
{boolean} : indique si le torrent a été publié ou non par un utilisateur vérifié de Kickass Torrents.elite
{boolean} : indique si le torrent a été publié ou non par un utilisateur élite de Kickass Torrents.id
{string} : l'ID torrent sur kat.cr qui peut être utilisé pour appeler des fonctions API Chaque élément de results.list
est en fait un objet KickassResult
, qui possède actuellement les méthodes suivantes sur son prototype :
KickassResult#getComments()
: renvoie une promesse qui se résout avec un tableau d'objets de commentaire, qui ont un owner
et une propriété comment
représentant respectivement le nom d'écran de l'auteur du commentaire et le contenu du commentaire.KickassResult#getDetails()
: effectuez une requête HTTP vers la page Web dédiée associée au résultat du torrent et renvoyez une promesse qui se résout avec un objet contenant des détails supplémentaires sur le torrent. À ce stade, le seul détail supplémentaire fourni par l'objet résolu est stocké dans la propriété description
, qui contient la version texte uniquement de la description du torrent. Connectez-vous au lien magnétique et obtenez les commentaires sur le torrent de South Park le plus répandu :
kickass({
search: 'south park',
field: 'seeders',
sorder: 'desc',
category: 'tv'
}).then(function (results) {
console.log(results.list[0].magnetLink);
results.list[0].getComments().then(function (comments) {
// do something with comments
});
});
L’URL de Kickass Torrents devrait changer. Si elle n'a pas encore été mise à jour, placez la nouvelle URL dans config/kickass-url.json
Gardez toujours votre package global kat-cr
à jour.
kat-cr est un module de scraping Web et dépend donc de la structure de la réponse de recherche Kickass Torrents, ainsi que du nom de domaine actuel du serveur Kickass torrents. En cas de mises à jour de Kickass Torrents, en cours d'exécution
npm test
dans le répertoire du projet indiquera exactement ce qui n'a pas fonctionné lors de la tentative de conversion d'une réponse de recherche Kickass Torrents en un objet KickassResultGroup
, et les contributeurs sont invités à soumettre des demandes d'extraction corrigeant les points de terminaison de l'API, le nom de domaine ou les sélecteurs CSS.
Assurez-vous que mocha
est installé globalement et que vous exécutez npm install
dans le répertoire du projet avant de tenter d'exécuter les tests.
Le code source est entièrement documenté. Pour créer la documentation, assurez-vous que le package grunt-cli
est installé globalement et que vous avez exécuté npm install
dans le répertoire du projet, puis exécutez
grunt
dans le répertoire du projet. Pour afficher la documentation du code source, ouvrez doc/index.html dans votre navigateur Web préféré.
MIT. N'hésitez pas à modifier et diffuser.
Raymond Pulver IV