0.1.0 |
|
---|
#65 in #动漫
195KB
4K SLoC
crunchyroll-rs
这是一个用于未记录的 Crunchyroll API 的 Rust 库。
我们与 Crunchyroll LLC 或其子公司或关联公司没有任何关联、维护、授权、赞助或官方联系。官方 Crunchyroll 网站:[https://crunchyroll.com/](https://crunchyroll.com/)
文档
文档可在 docs.rs 找到。
示例
为了开始工作,您需要在 Cargo.toml 中添加此包和 tokio 作为依赖项。
[dependencies]
crunchyroll-rs = "0.1"
tokio = { version = "1.21", features = ["full"] }
以下代码打印给定 URL 后面的剧集数据
use crunchyroll::{Crunchyroll, MediaCollection};
use crunchyroll::parse::UrlType;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// log in to crunchyroll with your username and password
let crunchyroll = Crunchyroll::builder()
.login_with_credentials("<username>".into(), "<password>".into())
.await?;
let url = Crunchyroll::parse_url("https://beta.crunchyroll.com/watch/GRDQPM1ZY/alone-and-lonesome")?;
if let UrlType::BetaEpisodeOrMovie(media_id) = url {
match crunchyroll.media_collection_from_id(media_id).await? {
MediaCollection::Episode(episode) => {
println!(
"Url is episode {} ({}) of season {} from {}",
episode.metadata.episode_number,
episode.title,
episode.metadata.season_number,
episode.metadata.series_title
)
}
_ => ()
}
} else {
panic!("Url is not a crunchyroll beta episode")
}
Ok(())
}
更多示例可以在 examples/ 目录中找到。
API 覆盖率
Crunchyroll 定期更新其测试版 API,但不提供任何文档。因为我们不持续监控 API,所以无法立即说明何时添加了新端点或已实施和实现的端点发生了变化(至少部分由 __test-strict
功能覆盖)。如果您发现未实现的端点或已更改的端点,请随时创建一个新的 问题 并告诉我们,或者分叉库并自行实现。
许可证
此项目采用以下任一许可证,由您选择
- Apache 许可证 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~8–20MB
~309K SLoC