Skip to content
forked from mixmoe/HibiAPI

一个实现了多种常用站点的易用化API的程序 / A program that implements easy-to-use APIs for a variety of commonly used sites.

License

Notifications You must be signed in to change notification settings

victor-lcr/HibiAPI

 
 

Repository files navigation

HibiAPI

一个实现了多种常用站点的易用化API的程序.

A program that implements easy-to-use APIs for a variety of commonly used sites.

Demo Version

Lint Test Coverage

PyPI PyPI - Downloads PyPI - Python Version PyPI - License

GitHub last commit GitHub commit activity Lines of code GitHub stars GitHub forks GitHub issues


前言

  • HibiAPI提供多种网站公开内容的API集合, 它们包括:

    • Pixiv的图片和小说相关信息获取和搜索
    • Bilibili的视频/番剧等信息获取和搜索
    • 网易云音乐的音乐/MV等信息获取和搜索
    • 百度贴吧的帖子内容的获取
    • 爱壁纸的横版和竖版壁纸获取
    • and more…
  • 该项目的前身是 Imjad API1

    • 由于它的使用人数过多, 致使调用超出限制, 所以本人希望提供一个开源替代来供社区进行自由地部署和使用, 从而减轻一部分该 API 的使用压力

优势

开源

  • 本项目以Apache-2.0许可开源, 即:
    • 你可以直接使用该项目提供的功能, 无需任何授权
    • 你可以在注明来源版权信息的情况下对源代码进行任意分发和修改以及衍生

高效

  • 使用 Python 的异步机制, 由FastAPI驱动, 带来高效的使用体验 虽然性能瓶颈压根不在这

稳定

  • 在代码中广泛使用了Python的类型提示支持, 使代码可读性更高且更加易于维护和调试

  • 在开发初期起就一直使用PyLance, Flake8以及MyPy来对代码进行类型推断和纠错

  • 不直接使用第三方开发的 API 调用库, 而是全部用更加适合 Web 应用的逻辑重写第三方 API 请求, 更加可控 疯狂造轮子

已实现API2

  • Pixiv
  • 网易云音乐
  • 一言 (其代替方案https://hitokoto.cn提供的方案已足够好, 暂不考虑支持)
  • Bilibili
  • 二维码
  • 企鹅FM (似乎用的人不是很多)
  • 百度贴吧
  • 爱壁纸

部署指南

Deploy to Heroku

应用实例

我有更多的应用实例? 立即 PR!

特别鸣谢

@journey-ad 大佬的 Imjad API

参考项目

正是因为有了你们, 这个项目才得以存在

贡献者们

All Contributors

感谢这些为这个项目作出贡献的各位大佬:


Kyomotoi

📖 ⚠️

城倉奏

💡

SkipM4

📖

Nook

💻

Jocky Chiang

💻

midori

📖

Pretty9

💻

本段符合 all-contributors 规范

联系方式

开源许可

Copyright 2020-2021 Mix Technology

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Footnotes

  1. 什么是Imjad API

  2. 请查看 #1

  3. 为了减轻服务器负担, Demo服务器已开启了Cloudflare全站缓存, 如果有实时获取更新的需求, 请自行搭建或使用其他部署实例

About

一个实现了多种常用站点的易用化API的程序 / A program that implements easy-to-use APIs for a variety of commonly used sites.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Dockerfile 0.2%