anybody interested in developing HTTP API?

Want to help out? Need help accessing the AniDB API? This is the place to ask questions.

Moderator: AniDB

User avatar
exp
Site Admin
Posts: 2438
Joined: Tue Oct 01, 2002 9:42 pm
Location: Nowhere

Post by exp » Thu Oct 25, 2007 4:25 pm

Well,

some of the data is available via HTTP as xml.
However, if I've understood you correctly, it is not the kind of data you're looking for.

If you're interested in numper of episodes, episode titles and the groups which are have releases for a specific anime, then this might be of interest:
http://anidb.net/perl-bin/animedb.pl?sh ... e&aid=4897

However, please note, those xml data files are NOT part of the API any may change without notice. To prevent getting yourself banned it is also crucial that such data is only requested on a per anime basis, when you need it. Trying to get data for all animes that way is sure to get you banned.
When accessing any AniDB xml via HTTP, please specify your own unique HTTP Agent header which also includes a version number (allows us to ban specific old versions should it emerge that they are broken).

We're also planning to add additional mylist data as xml via HTTP.

But in general, I still don't quite get your problem. Obviously those files you're talking about are anime files. In that case it seems to me that the easiest solution would be to just wait a couple of days till they have been added to AniDB (or add them yourself) and to then use an UDP API client to rename the files accordingly. I.e. WebAOM.

BYe!
EXP

sphere
Posts: 19
Joined: Thu Nov 16, 2006 9:33 am

Post by sphere » Fri Oct 26, 2007 2:10 am

yes! this idea is close to what I think is the ideal case I'm looking for actually. the whole screen scraping is like a workaround in the absence of such interface. It's like anidb without the visuals. But too bad it isn't available for more of anidb stuff...

Any chance of this develop into a full anidb AJAX API?

From what I can see, there could be static parts like basic/mostly static info of each anime (no episodes, no files, just the basic info) that can be served as a compressed xml stream such that it can be cached. For the first easier-to-implement form, may serve ONLY prefix chunk of info (no custom queries that the server has to process manually to serve out different data all the time. This could come later if it is needed). Can even try to make it work hand in hand with UDP : UDP you specify and get exactly what you want (so easier to process results) while simple AJAX you get preset/cacheable chunks of info that may contain a little more than you need, but you have to process/search through.

Best if the anidb itself can have an alternative mode which uses some sort of client-side ajax by serving only the (static) template html which requests the xml info? that way, the server only have to serve ONE static template html (unlike the traditional way where the server formats the data into html exactly before serving them), and rely on client-side AJAX scripts to load the xml. that way, both the html and xml could potentially be more static (and cached?) Even things like style could be remotely set and saved as cookies (iow, the client can set the css url directly and save the state locally instead of requesting it from server all the time)

of course, there is a added cost in that client browser must be AJAX capable, without which they will just see the blank template html.

Or could be possible that we keep both? The traditional server formatted htmls for older clients (or those that hate javascripts running in their browsers) and a newer static AJAX versions for those that prefer it?

Is there any chance that this could happen? If so, I'll be very interested in trying to help out with the client-side stuff if I can.

regards

User avatar
exp
Site Admin
Posts: 2438
Joined: Tue Oct 01, 2002 9:42 pm
Location: Nowhere

Post by exp » Fri Oct 26, 2007 7:58 am

Have you already checked out the AJAX version of the anime page which is currently under development?
http://anidb.net/perl-bin/animedb.pl?sh ... 3&aid=4897

It goes quite a way towards what you're suggesting there. We still have the goal of supporting non-javascript browsers though. Which makes some of your suggestions infeasible.

However, this is our very first step towards AJAX. And there is still much which could need improvement. The next big step would be the AJAX'ification of the mylist page.

Currently only fahrenheit works on the AJAX stuff. I am pretty sure that he could need some help. So if you feel like it, you might give him a hand :o)

BYe!
EXP

sphere
Posts: 19
Joined: Thu Nov 16, 2006 9:33 am

Post by sphere » Fri Oct 26, 2007 10:23 am

thanks for the info. I am indeed very interested in contributing. I've sent fahrenheit a pm regarding this.

looks like this thread is finally ended :)

Der Idiot
AniDB Staff
Posts: 1227
Joined: Fri Mar 21, 2003 10:19 am

Post by Der Idiot » Fri Oct 26, 2007 10:59 am

well fahrenheit has been very busy lately and lots of stuff was added to the old html page already so the load of features that need to get squished into the ajax version is noticeable smaller nowadays. still having more than 1 person developing the ajax bit is still favourable.

User avatar
fahrenheit
AniDB Staff
Posts: 438
Joined: Thu Apr 08, 2004 1:43 am
Location: Portugal

Post by fahrenheit » Fri Oct 26, 2007 11:16 am

yeah i, realy need the help, this semester i have close to no time to do stuff (40+ hours per week just in univ, plus all the off class stuff that needs to be done)..
I have a xml change that needs to be commited and haven't found the time to do it yet...
(of course it's not only the commit, it's commit plus checking stuff that's the problem :P)

epoximator
AniDB Staff
Posts: 379
Joined: Sun Nov 07, 2004 11:05 am

Post by epoximator » Fri Oct 26, 2007 11:23 am

he "picked up python recently". you really expect him to work with fahrenheit's code!?!

User avatar
fahrenheit
AniDB Staff
Posts: 438
Joined: Thu Apr 08, 2004 1:43 am
Location: Portugal

Post by fahrenheit » Fri Oct 26, 2007 11:33 am

epoximator wrote:he "picked up python recently". you really expect him to work with fahrenheit's code!?!
you are an evil, evil person... i try... (well not too hard :P)

picking up python recently doesn't mean he can't code/understand my code (or do better), but anyways all changes would have to be aproved by us. And he doesn't need to know any inner workings of anidb to help (or try).

If this works okay, it's better than the current stalement.

sphere
Posts: 19
Joined: Thu Nov 16, 2006 9:33 am

Post by sphere » Fri Oct 26, 2007 2:28 pm

Lol... well if it is like trying to read another's person quickie codes written using evil c++ templates in all it's decorated glory..... hmm... I am suddenly stricken with a weird case of amnesia...... what was I doing in this thread???

:)

seriously, I don't know what to expect yet or how soon I can pick up things, but fahrenheit has given me something to start reading :) (I got a rar file... I haven't manage the courage to open it yet...) hopefully, I can contribute something to try to move things forward a little during his busy period.

At the very least, I may be able contribute by giving a few examples of what DOESN'T work ;)

Locked