imgchest rs
1.0.0
一個與 imgchest.com 互動的 Rust 函式庫。它實作了整個 API,同時也提供了一些基於抓取的功能,而無需登入。
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
client . set_token ( "TOKEN" ) ;
let mut builder = imgchest :: CreatePostBuilder :: new ( ) ;
builder
. title ( "test title" )
. nsfw ( false )
. image ( imgchest :: UploadPostFile :: from_path ( "img.png" ) . await ? ) ;
let post = client . create_post ( builder ) . await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_scraped_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
過去,這個函式庫試圖完全避免使用官方 API。這是由於以下兩個原因:
雖然速率限制似乎已更新到可以容忍的程度(每分鐘 60 個請求),但獲取帖子仍然需要登入。因此,在該庫中添加了 API 支持,同時也嘗試在可能的情況下提供基於抓取的替代方案。建議盡可能使用基於抓取的功能,以避免需要使用 API 令牌並避免速率限制。
該庫中的抓取 API 物件經過定制,盡可能與官方 API 相匹配,但缺少一些欄位。
API 在幾個方面受到限制。該庫可能會獲得更多基於抓取的功能來解決這些限制。這些限制按嚴重程度排序。