duminică, 9 noiembrie 2008

Flickr API

... și de ce mi-a plăcut sa fac un crawler.


Cum spuneam câteva posturi mai jos, yahoo pune la dispozitia dezvoltatorilor API-uri pentru site-urile sale.
Tot cautând pentru tema, am avut de ales intre doua care mi-au plăcut: del.icio.us si flickr. L-am ales pe al doilea, ca e mai complex și avea funcții care ma ajutau direct în cerința temei: http://www.flickr.com/services/api/.

Ce mi-a plăcut e ca mai pentru toate serviciile oferite, găsești doua tipuri de metode: una pentru userul autentificat, și una pentru vizitatori. De exemplu, pentru a afla lista de contacte a unui user, avem flickr.contacts.getList (e necesara logarea) și flickr.contacts.getPublicList ( e necesara doar o cheie de autentificare). Evident, exista o privare de informații aici, in xml-ul rezultat de la prima având mai multe date disponibile despre lista de contacte a utilizatorului (prieteni, contacte sau familie - doar atât permite flickr). Evident, la a doua rezultatul este un XML mai simplu, doar cu numele și adresa contactului, și ... câteva câmpuri auxiliare, care nu precizează însa relația cu userul de la care se pornește.

Ce nu mi-a plăcut? Ca nu ofera servicii directe pentru tot ce as fi vrut eu (sa-mi ia de exemplu comentariile fotografiilor unui user). Trebuie autentificare - flickr.activity.userPhotos.

Ma plâng acum de ceva ce acum câteva săptămâni mi se părea a fi normal. Securitatea are și ea un preț. Problema e ca cei de la yahoo nu securizează ceea ce trebuie.

Pana una alta, daca vreti sa faceti tema repede, va sfatuiesc sa alegeti flickr sau del.icio.us API, combinat cu python.

Raspund aici unui comment de la alt post: ca sa fac scrisul mai lat, trebuie sa schimb layout-ul. Ori blogger ofera layouturi de bloguri personale. Nu am timp deocamdata sa pun un altul (done by me).

3 comentarii:

Florin C. spunea...

Nice post :)
API-ul pare ok si cred ca am sa-l folosesc si eu intr-unul din proiectele mele.

Cand vei avea timp ai putea adauga pe site un articol despre crawler-ul pe care l-ai scris.
Ar fi ideal sa ai code snipets si sa spui in ce fel de platforme sau aplicatii ar putea fi integrat un astfel de crawler. Deasemenea, sa spui la ce ar folosi o astfel de aplicatie unui end-user.

P.S. Sunteti o echipa. Ar grozav daca si ceilalti ar contribui asa cum o faci tu.

Daniel Băluță spunea...

1. de ce pui tag interfete web la toate posturile.
2. ti-am mai zis sa pui linkurile ca sa poti da direct click pe ele
link
3. in rest e bine.

Sinziana spunea...

@florin c.
Pe site o ne punem toti temele (si cred ca a mea e cea mai simplista dintre toate :)), dar dupa ce nu se mai pot uploada teme pe curs.cs. In privinta crawler-ului, e doar o tema, nu un crawler in adevaratul sens al cuvantului. E facut sa respecte o cerinta minimalista; insa e un punct de plecare.

@daniel
1. Eticheta o pun pt ca totul se leaga de "interfete web"; si e normal sa o pun asa.
2. Ok, got it.
3. Vino si tu cu niste comentarii la continut, nu te lovi de micile chichite.