kat-cr は、kat.cr で torrent を検索する、シンプルで柔軟な CLI アプリケーションおよびノード モジュールです。 JSON API は Kickass Torrents で完全にサポートされなくなり、RSS フィードも不足しています。 Kickass Torrents が提供する主要なブラウザベースの検索エンジンは、ほとんどの機能を提供するため、このアプリケーションはそれを使用して torrent を検索します。
CLI アプリケーションを使用するには、次を使用します。
npm install -g kat-cr
これにより、実行可能kickass
PATH
にインストールされます。
モジュールとして使用するには、次のようにしてプロジェクトにインストールします。
npm install --save kat-cr
基本的な torrent 検索は次のようになります。
kickass -c tv south park
この例では、検索カテゴリを指定するためにオプションの -c フラグが渡されました。 kat.cr は検索結果を 25 個のセットで返し、結果の上限は 10000 です。 -p フラグを渡すことで、返したいページ番号を指定できます。したがって、South Park TV torrent の 2 ページ目に移動したい場合は、次のコマンドを実行します。
kickass south park -c tv -p 2
デフォルトでは、 kickass
直接の torrent リンクを表示しますが、 -m
または--magnet
オプションを指定すると、返されるリンクはマグネット リンクになります。例として:
kickass south park -c tv -p 2 -m
Kickass Torrents の認証済みメンバーによって投稿された torrent の場合、Torrent タイトルは太字の黄色で表示され、Kickass Torrents のエリート メンバーによって投稿された torrent の前に紫色のELITE
修飾子が表示されます。
それだけです。アプリケーションとモジュールは、デフォルトでシーダーによって torrent を降順に並べ替えます。この動作を変更するには、-f/--field フラグまたは -s/--sorder フラグを渡します (これらのオプションの可能な値の詳細は以下を参照)。複数単語の検索クエリを引用符で囲む必要はないことに注意してください。
このモジュールをアプリケーションで使用するには、プロジェクトにインストールして使用します。
var kickass = require('kat-cr');
kat-cr
Promise API を使用します。基本的な検索を実行できます
kickass('search query').then(function (results) {
// do something with results
}, function (err) {
// handle error
});
文字列の代わりにオブジェクトを関数に渡すことで、高度な検索を実行できます。オブジェクトには次のキーを含めることができます
search
{string}: 検索クエリcategory
{string}: 検索カテゴリpage
{number}: 返された結果のページ番号field
{文字列}: 結果を並べ替えるフィールド。デフォルトは「シーダー」です。他の可能性としては、「time_add」、「files_count」、「size」、「leechers」などがあります。sorder
{string}: 結果が表示される順序。デフォルトは「desc」です。あるいは、「asc」を使用することもできますこの Promise によって解決されるオブジェクトは、現在機能が不足している Kickass Torrent JSON API によって返される JSON 応答を模倣するように設計されていますが、実際のオブジェクトはカスタムKickassResultGroup
オブジェクトであり、この段階ではプロトタイプにメソッドはありませんが、次のものが含まれています。検索結果全体に関連するいくつかのプロパティ:
results.total_results
{number}: トレント結果の合計量results.link
{string}: 常に「http://kat.cr」results.language
{string}: このモジュールを使用すると、常に「en-us」が取得されますresults.list
{配列}: トレントとその情報を含む配列情報の大部分はresults.list
にあります。 torrent オブジェクトのプロパティは次のとおりです。
title
{string}: torrent のタイトルcategory
{string}: torrent のカテゴリlink
{string}: kat.cr の torrent ページへのリンクpubDate
{Date}: トレントが公開された日付を表す Date インスタンスtorrentLink
{string}: torrent ファイルへの直接の http リンクmagnetLink
{string}: トレントに関連付けられたマグネット リンクfiles
{number}: トレントに関連付けられたファイルの量comments
{数値}: Torrent が kat.cr で受け取ったコメントの量hash
{数値}: torrent のハッシュ ダイジェストpeers
{数値}: トレントに関連付けられたピアの数seeds
{数値}: トレントに関連付けられたシーダーの数leechs
{number}: トレントをダウンロードしているヒルの数size
{number}: トレントによって提供されるファイルのサイズ (バイト単位)verified
{boolean}: Torrent が Kickass Torrents の認証済みユーザーによって投稿されたかどうかelite
{boolean}: トレントが Kickass Torrents エリート ユーザーによって投稿されたかどうかid
{string}: API 関数の呼び出しに使用できる kat.cr の torrent ID results.list
内の各項目は実際にはKickassResult
オブジェクトであり、現在そのプロトタイプには次のメソッドがあります。
KickassResult#getComments()
: コメント オブジェクトの配列で解決される Promise を返します。このオブジェクトには、コメント投稿者の画面名とコメントの内容をそれぞれ表すowner
とcomment
プロパティがあります。KickassResult#getDetails()
: トレント結果に関連付けられた専用 Web ページに対して HTTP リクエストを作成し、トレントに関する追加の詳細を含むオブジェクトで解決される Promise を返します。この段階では、解決されたオブジェクトによって提供される追加の詳細のみがdescription
プロパティに保存されます。このプロパティには、トレント説明のテキストのみのバージョンが含まれます。 マグネット リンクを記録し、最も多くシードされているサウスパーク torrent のコメントを取得します。
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
});
});
Kickass Torrents への URL は変更される予定です。まだ更新されていない場合は、新しい URL をconfig/kickass-url.json
に入力します。
グローバルkat-cr
パッケージは常に最新の状態に保ってください。
kat-cr は Web スクレイピング モジュールであるため、Kickass Torrent の検索応答の構造と、Kickass Torrent サーバーの現在のドメイン名に依存します。 Kickass Torrents を更新する場合は、
npm test
プロジェクト ディレクトリ内の は、Kickass Torrents の検索応答をKickassResultGroup
オブジェクトに変換する試みで何が問題になったのかを正確に示します。また、コントリビューターは、API エンドポイント、ドメイン名、または CSS セレクターを修正するプル リクエストを送信するよう招待されます。
テストを実行する前に、 mocha
がグローバルにインストールされていること、およびプロジェクト ディレクトリでnpm install
実行していることを確認してください。
ソースコードは完全に文書化されています。ドキュメントを構築するには、 grunt-cli
パッケージがグローバルにインストールされていること、およびプロジェクト ディレクトリでnpm install
実行していることを確認してから、次のコマンドを実行します。
grunt
プロジェクトディレクトリ内。ソース コードのドキュメントを表示するには、お気に入りの Web ブラウザで doc/index.html を開きます。
マサチューセッツ工科大学改変、配布等はご自由にどうぞ。
レイモンド・パルバー IV