2个版本
0.1.1 | 2021年2月15日 |
---|---|
0.1.0 | 2021年2月14日 |
#13 in #crates-io
每月21次下载
用于 cns
37KB
728 行
圣洁
小巧但高效的crates.io API客户端。
该库的主要目标是提供一种简单的方式来查询crates信息,而不需要引入太多的依赖。
该库松散地模仿了crates_io_api 库。主要区别包括
- 减少了大约70%的依赖数量
- 没有异步支持
- 没有多请求客户端方法,如
full_crate
或all_crates
- 能够使用
category
和keyword
修饰符来查询crates - 能够将简单的字符串组合查询,例如
api category=web keyword=crates sort=update
转换为有效的查询对象
使用方法
将以下内容粘贴到您的项目的 Cargo.toml
文件中
consecrates = "0.1.1"
创建一个新的客户端并发送查询
let client = Client::new("my_app (github.com/me/me_app)");
let crates = client
.get_crates(Query {
string: Some("net".to_string()),
category: Some(Category::GameDevelopment),
sort: Some(Sorting::RecentUpdates),
..Default::default()
})
.expect("failed getting crates");
println!("{:?}", crates);
爬虫策略
在开始使用此库之前,请咨询官方爬虫策略。速率限制设置为最低可接受的值。创建客户端时,您需要输入适当的用户代理字符串。
依赖项
~12MB
~311K SLoC