kat-cr 是一个简单、灵活的 CLI 应用程序和节点模块,用于搜索 kat.cr 中的种子。 Kickass Torrents 不再完全支持 JSON API,并且也缺少 RSS feed。 Kickass Torrents 提供的基于浏览器的主要搜索引擎提供了最多的功能,因此该应用程序使用它来搜索 torrent。
要使用 CLI 应用程序,请使用
npm install -g kat-cr
这会将可执行的kickass
安装到您的PATH
中。
要用作模块,请使用以下命令安装到您的项目中
npm install --save kat-cr
基本的种子搜索看起来像这样
kickass -c tv south park
在此示例中,传递了可选的 -c 标志来指定搜索类别。 kat.cr 以 25 个为一组返回搜索结果,结果上限为 10000。您可以通过传递 -p 标志来指定要返回的页号。因此,如果您想转到南方公园电视种子的第二页,您可以运行
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
限定符。
这就是全部内容。默认情况下,应用程序和模块按播种者按降序对种子进行排序。要更改此行为,请传递 -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
{string}:结果排序的字段,默认为“seeders”。其他可能性包括“time_add”、“files_count”、“size”和“leechers”sorder
{string}:结果显示的顺序,默认为“desc”。或者你可以使用“asc”此承诺解析的对象旨在模仿当前功能不足的 Kickass Torrent JSON API 返回的 JSON 响应,但实际对象是自定义的KickassResultGroup
对象,现阶段其原型上没有任何方法,但包含与整个搜索结果相关的一些属性:
results.total_results
{number}:Torrent 结果总数results.link
{string}:始终为“http://kat.cr”results.language
{string}:使用此模块,您将始终得到“en-us”results.list
{Array}:包含种子及其信息的数组大部分信息将位于results.list
中。 torrent 对象的属性是:
title
{string}:torrent 的标题category
{string}:torrent 的类别link
{string}:kat.cr 上 torrent 页面的链接pubDate
{Date}:代表种子发布日期的 Date 实例torrentLink
{string}: torrent 文件的直接 http 链接magnetLink
{string}:与 torrent 关联的磁力链接files
{number}:与 torrent 关联的文件数量comments
{number}:torrent 在 kat.cr 上收到的评论数量hash
{number}:torrent 的哈希摘要peers
{number}:与 torrent 关联的对等点数量seeds
{number}:与 torrent 关联的播种者数量leechs
{number}:下载 torrent 的 leech 数量size
{number}:torrent 提供的文件大小,以字节为单位verified
{boolean}:torrent 是否由 Kickass Torrents 验证用户发布elite
{boolean}:种子是否由 Kickass Torrents 精英用户发布id
{string}:kat.cr上的torrent ID,可用于调用API函数results.list
中的每一项实际上都是一个KickassResult
对象,目前其原型有以下方法:
KickassResult#getComments()
:返回一个用评论对象数组解析的承诺,该数组有一个owner
和一个comment
属性,分别代表评论发布者的屏幕名称和评论内容KickassResult#getDetails()
:向与 torrent 结果关联的专用网页发出 HTTP 请求,并返回一个承诺,该承诺将解析为包含有关 torrent 的其他详细信息的对象。在此阶段,解析对象提供的唯一附加详细信息存储在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 是一个网络抓取模块,因此它取决于 Kickass Torrents 搜索响应的结构以及 Kickass Torrents 服务器的当前域名。如果 Kickass Torrents 更新,请运行
npm test
项目目录中的内容将指示尝试将 Kickass Torrents 搜索响应转换为KickassResultGroup
对象时到底出了什么问题,并邀请贡献者提交拉取请求来更正 API 端点、域名或 CSS 选择器。
确保mocha
已全局安装,并且在尝试运行测试之前在项目目录中运行npm install
。
源代码已完整记录。要构建文档,请确保grunt-cli
软件包已全局安装,并且已在项目目录中运行npm install
,然后运行
grunt
在项目目录中。要查看源代码文档,请在您喜欢的 Web 浏览器中打开 doc/index.html。
麻省理工学院。请随意修改和分发。
雷蒙德·普尔弗四世