Library to access the booru website using public API. This library only support GET method, it means only listing and searching only. For other method like POST, contributions are welcomed.
Currently BooruDex support the following websites:
- 3Dbooru
- Danbooru.donmai.us
- Gelbooru
- Konachan.com
- Konachan.net
- Lolibooru
- Realbooru
- Rule34
- Safebooru
- Safebooru.donmai.us
- Xbooru
- Yandere
- Artist
- Search for artist by name
- Pool
- Search for pool by name
- List of post inside pool
- Post
- Search for multiple random image by tags
- List of latest post update
- Tag
- Search for tags by tag name pattern
- Search for tag related by other tag
- Wiki
- Search for wiki by title
Note Some client may not have some feature listed above, because there's no public API for it.
Only GET method.
Template | Artist API | Pool API | Post API | Tag API | Wiki API |
---|---|---|---|---|---|
Danbooru | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Gelbooru | ❌ | ❌ | ✔️ | ✔️ | ❌ |
Gelbooru beta 0.2 | ❌ | ❌ | ✔️ | ❌ | ❌ |
Moebooru | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
This benchmark compare with other library, BooruSharp
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.1256 (1909/November2018Update/19H2)
AMD FX-8800P Radeon R7, 12 Compute Cores 4C+8G, 1 CPU, 4 logical and 4 physical cores
.NET Core SDK=5.0.101
[Host] : .NET Core 5.0.1 (CoreCLR 5.0.120.57516, CoreFX 5.0.120.57516), X64 RyuJIT [AttachedDebugger]
MediumRun : .NET Core 5.0.1 (CoreCLR 5.0.120.57516, CoreFX 5.0.120.57516), X64 RyuJIT
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Min | Max | Ratio | RatioSD | Rank | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|---|---|---|
BooruDex | 502.0 ms | 85.06 ms | 124.68 ms | 371.9 ms | 861.2 ms | 1.00 | 0.00 | 1 | - | - | - | 78.38 KB |
BooruSharp | 506.2 ms | 54.29 ms | 76.11 ms | 374.3 ms | 690.9 ms | 1.07 | 0.33 | 1 | - | - | - | 353.91 KB |
Note Speed or perfomace may not accurate because internet connection or server response
This benchmark search 10 latest post from danbooru.
As of version 2.2.0, BooruDex changed all object models (Post, Tag, ..) from struct
to class
.
So the memory(RAM) usage increased a little, before it was about 68.76 KB.
Refer to this repository for the benchmark log and source code.
Get 10 random post from danbooru.donmai.us.
var client = new DanbooruDonmai();
var posts = await client.GetRandomPostAsync(10);
foreach (var post in posts)
{
Console.WriteLine($"Id: { post.ID }");
Console.WriteLine($"File url: { post.FileUrl }");
}
More example can be found here.
For documentation: Wiki
Like this library? Please consider donation