Skip to main content

用于同人的 nhentai.net API 包装器

项目描述

forthebadge 用 python 制作

狐狸精

一个异步 nhentai.net API 包装器和刮板

到目前为止,包装器具有 API 必须提供的大部分功能,除了用于按标签过滤画廊的端点,由于搜索端点已经可以做到这一点,我没有包含在包装器中。剩下要做的就是提高代码质量,实现 GIF 下载,根据它们在 nhentai 图像存储库中的分布方式,这将是相当麻烦的,并且编写文档。

只有我允许的贡献才会被接受。这将仅在我的空闲时间进行。

当前能力:

  • nhentai.net API 端点数据请求
  • 使用网页抓取进行搜索和过滤
  • 速率限制处理
  • 通过线程完成下载

预发布:

  • 额外的抛光,一些额外的重构和最后的润色。
  • 许可、上传包和使用指南。

发布后:

  • GIF 下载支持。
  • 甚至更多的重构。
  • http 处理程序的调整和更改。

安装

Python 3.8+

pip install kitsune-nh

使用指南

实例化包装类的主要方法是通过异步上下文管理器,它负责在内部创建和关闭 HTTP 会话。

import asyncio

from kitsune import Kitsune

async def main():
    async with Kitsune() as client: 
        ...

您还可以选择传递您自己的 HTTP 会话。

import aiohttp

from kitsune import Kitsune

async def main():

    session = aiohttp.ClientSession()

    async with Kitsune.from_session(session) as client: 
        ...

现在您已经有了包装器的实例,使用它非常简单。下面的一些例子。

import aiohttp

from kitsune import Kitsune, Popularity, Tag, Artist, Character, Parody, Group 

async def main():
    async with Kitsune(loop = your_loop) as client: # Passing your own loop 

    	# Wrapper methods

        gallery = await client.fetch_gallery(312781)

        galleries = await client.fetch_galleries([312781, 31286, 9294])

        related = await client.fetch_related(312781)

        random_gallery = await client.fetch_random()

        comments = await client.fetch_comments(gallery.id)

        homepage = await client.fetch_homepage()

        shelf = await client.search(Tag["kitsune"], popularity = Popularity.ALL_TIME)

        await client.download(shelf, "/home/acertig/Pictures")

更多示例和解释可以在文档中找到。

特别感谢 hentai-chan 分享 API 端点。它们是这个异步版本的包装器工作所必需的。你可以在这里查看他自己的同步包装器:https ://github.com/hentai-chan/hentai

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

kitsune-nh-0.0.7.ta​​r.gz (21.1 kB 查看哈希

已上传 source

内置分布

kitsune_nh-0.0.7-py3-none-any.whl (21.0 kB 查看哈希

已上传 py3