Giter VIP home page Giter VIP logo

jikan's Introduction

Jikan

Jikan - Unofficial MyAnimeList.net PHP API

build stable Average time to resolve an issue Percentage of issues still open stable Discord Server

Jikan is a PHP API for MyAnimeList.net. It scrapes the website to satisfy the need for API functionality that MyAnimeList.net lacks.

The raison d'être of Jikan is to assist developers easily get the data they need for their apps and projects without having to depend on the lackluster official API, unstable APIs, or sidetracking their projects to develop parsers.

The word Jikan literally translates to Time in Japanese (時間). And that's what this API saves you of. ;)

Notice: Jikan does not support authenticated requests. You can not update your lists.

Getting Started

Version Support PHP Lumen/Laravel
^4 (master) ✅ New features 8.1 ^9,^10
^3 ❌ No longer maintained or supported 8.0 ^8, ^9
^2 ❌ No longer maintained or supported stable ^6
~1 ❌ No longer maintained or supported stable 5.5.*
  1. composer require jikan-me/jikan ^4
  2. Documentation

Jikan REST API

A REST API service is available as well

Wrappers

Language Wrappers
JavaScript JikanJS by Zuritor
Java Jikan4java by Doomsdayrs
reactive-jikan by Sandro Marques
Jaikan by ShindouMihou
Python JikanPy by Abhinav Kasamsetty
Node.js jikan-node by xy137
jikan-nodejs by ribeirogab
TypeScript jikants by Julien Broyard
jikan-client by Javier Blanco
PHP jikan-php by Jan Vernieuwe
.NET Jikan.net by Ervie
Elixir JikanEx by Sean Breckenridge
Go jikan-go by Daren Liang
jikan2go by nokusukun
Ruby Jikan.rb by Zerocchi
Dart jikan-dart by Rafal Wachol
Kotlin JikanKt by Ganedra Afrasya

Add your wrapper here

View RoadMap

Running Tests

PHPUnit

php vendor/bin/phpunit

GrumPHP

PHPCS, PHPLint & PHPUnit

php vendor/bin/grumphp run


Backers

A huge thank you to all our Patrons! 🙏 This project wouldn't be running without your support.

We have a free REST API service, if you wish to support us you can become a Patron!

Sugoi (すごい) Patrons

Patrons

  • Aaron Treinish
  • Abdelhafid Achtaou
  • Aika Fujiwara
  • Bobby Williams
  • Cesar Irad Mendoza
  • CrafterSama
  • Fro116
  • Jason Weatherly
  • Jesse
  • Kundan Chintamaneni
  • Kururin
  • Purplepinapples
  • Ryo Ando
  • Sakamotodesu
  • TeraNovaLP

Development

JetBrain Jikan's development is powered by JetBrain's Open Source License

A shoutout to their amazing products and for supporting Jikan since early versions!


DISCLAIMER

  • Jikan is not affiliated with MyAnimeList.net
  • You are responsible for the usage of this API. Please be respectful towards MyAnimeList's Terms Of Service

jikan's People

Contributors

5andshark avatar abhinavk99 avatar adiirfan avatar azeemhassni avatar chortowod avatar glugg23 avatar irfan-dahir avatar ivanovishado avatar janvernieuwe avatar miraris avatar n0d4n avatar nerg4l avatar purplepinapples avatar pushrbx avatar ribeirogab avatar rjd22 avatar scrutinizer-auto-fixer avatar seanbreckenridge avatar shindoumihou avatar toshy avatar xy137 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jikan's Issues

[Anime] Characters & Staff to return 1 image instead of 2

Current response example looks like this:

"image":"https:\/\/myanimelist.cdn-dena.com\/r\/23x32\/images\/voiceactors\/2\/17135.jpg?s=1e4f2f416890bc60d338b2c67f54daf3 1x, https:\/\/myanimelist.cdn-dena.com\/r\/46x64\/images\/voiceactors\/2\/17135.jpg?s=69b969ff9c8a792f7f341adcfcd850f2 2x"

Fetching Extra Anime/Manga details

This parses after the anime() or manga() method and fetches from sub pages such as

https://myanimelist.net/anime/1/Cowboy_Bebop/video
https://myanimelist.net/anime/1/Cowboy_Bebop/episode
https://myanimelist.net/anime/1/Cowboy_Bebop/reviews
https://myanimelist.net/anime/1/Cowboy_Bebop/userrecs
and so on.

Each pages are individual, so they require more work and bandwidth.

Possible code use is

\MAL\GET->anime($id)->video()->episode()->reviews()

The data keeps getting accumulated in the returning array.

Low priority since it requires a lot of work. So I'll do it in the end.

Search Method for MAL

The official MAL search API is lacking in terms of pages. You can get the results from the first page but you've no idea what's on the rest of the pages.

Thus, this method will allow you to get results from any page of query. Will also include the amount of pages available.

Possible usage:

$results = \MAL\GET->search("string", 2 /page/{, type; anime, manga})

Is it possible to make Related Anime always return a list?

In my parser I map json keys to Java variables, example:

@SerializedName("ranked") public int ranked;

To parse the JSON, I use GSON, so my code looks like this

Anime anime = gson.fromJson("here comes the json provided by Jikan");

(to call the ranked variable, I use anime.ranked, Parsing and mapping to a Java object happens only in one line of code)

My problem is that Sequel on Jikan can either return a double List/Array, if the Anime has more than 1 sequel - or single Array when the Anime only has 1 sequel

To completely mitigate this issue (for me), making it always return a double array fixes it

Example current JSON:

    "Sequel": [
      "Clannad: After Story<\/a>",
      "\/anime\/4181\/Clannad__After_Story"
    ]

Example new situation

    "Sequel": [
     [
      "Clannad: After Story<\/a>",
      "\/anime\/4181\/Clannad__After_Story"
     ] // add other sequels here, comma separated
    ]

I was wondering if this is possible for Jikan, if not I'll just keep the 'Related Anime' off my app

Oh and to clarify, only return a list if there is an related Anime found of course.

PS: I am looking for solutions on my end, so if I manage to find it, I'll just close the issue

[Characters/People] Parse Image

Noticed that there arent images on them. (except for specific characters in a Person or for anime in Characters)
Could you parse that?

The API index by request?

I'm collecting info from your API, the first round many animes give me error 500 or others, second run it works fine.

So if it crawl by request, maybe you need put this info on the README (any way, I think right now you have 13000+ animes thanks too all my request [sorry for the "little attack" I don't want parse again all mal, just to get the info anime and crawl data etc...])

PD: Also some request return false as response, what it means?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.