Git Product home page Git Product logo

umalapi's Introduction

umalapi - The MyAnimeList Unofficial API (PROJECT MOVED TO RAILGUN)

NOTE: This project will soon no longer be supported. umalapi is undergoing an architectural overhaul and is being converted to railgun. To contribute to the unofficial API, please go there.


umalapi is an unofficial API for http://myanimelist.net/. This API is an extension to the official API, which extracts additional information from responses to bring the user more content to digest. Such content includes related works, ratings, tags, and genres. There's much more to come.

MyAnimeList.net's API is stagnant, and there doesn't seem to be any plan to update it. That's annoying. ._.

umalapi originally derived from chuyeow's fantastic myanimelist-api. Why is this on its own repository then? It seems like that project is no longer in development, nor does it seem like there is any interest in reviving the endpoints. So, I've decided to take in the responsibility of improving this so people can use them in their own apps.

For API documentation, check it out here. I will provide common requests in the README in a future update.

What do I need to run this?

  • ruby 1.9.3 or later.
  • libxml2 and libxslt (for nokogiri)
  • Bundler gem.
  • memcached
  • a User-Agent provided by MyAnimeList.net

umalapi's People

Contributors

croberts22 avatar deadlyembrace avatar

Stargazers

Angus H. avatar Maooyer avatar  avatar Chee Aun avatar

Watchers

 avatar James Cloos avatar Ninad Kulkarni avatar  avatar

Forkers

deadlyembrace

umalapi's Issues

Clean up cURL requests.

cURL requests throughout the API are unnecessarily bulky. This could be rectified by having a function generate preset cURL requests without having to always specify the environment or interface.

Bug: Alternative titles split by comma even when it is part of the title

Unfortunately there is no separation of titles within a section (such as "synonyms") by DOM element, so it's not possible to differentiate between commas as part of the title and commas used as a separator.

However, for the English title there is only expected to be one title. Therefore, this issue could be fixed for just the English title by not splitting the text by comma and just returning a single-element array.

Scrape season premier

MAL has recently added a "Premiered" field in the Information section of an anime page. For example: Premiered: Fall 2014.

API is down

Get the following error when trying to retrieve any anime:
apierror
Have tried rolling back to an earlier version but the problem remains. Suspect that something on one of the pages has changed. Error can be reproduced by going to any anime link.

Unfortunately my Ruby skills isn't very good and I don't have time to play with it right now.

anime scraping error

It looks like there were some redesigns on anime pages.
http://umal-api.coreyjustinroberts.com/1.1/anime/6547 returns:
{"error":"unknown-error","details":"Exception message: Error scraping anime with ID=6547. Original exception: undefined method text' for nil:NilClass."}`

Scrape number of user votes

Currently only the total member count is scraped, but it would be good to also scrape the number of users that have voted. This is in parentheses after the score.

Scrape user recommendations

I think it would be good to scrape the user recommendations for the anime page. That is, just the title, URL, and anime id. This will allow links to the recommended anime to be added to the iPhone app, similar to prequels, sequels, etc.

Related anime/manga not showing up

This is due to MAL changing up the HTML a bit, making Nokogiri scanning the wrong item. Instead of looking for <h2>Related [Anime|Manga]</h2>, it should be </div>Related [Anime|Manga]</h2>.

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.