marți, 4 noiembrie 2008

python + xml + hi5 - combinatia ideala pentru dat cu capul in zid!

In lipsa oricaror altor idei de eventuale posturi pe blog am hotarat sa imi exprim frustrarea relativ la tema 1 la IE. Aparuta complet neasteptat pe site, undeva pe joia trecuta cred, tema cere implementarea unui nefericit program care sa retraga niste informatii de pe niste diverse pagini web, eventual folosind un api pentru a-ti face viata mai usoara. Cum deja aveam un cont hi5 (ce-i drept cam steril si lipsit de originalitate ...) am zis sa-l pun la treaba si sa-l parsez. Am deschis in firefox un link de forma http://api.hi5.com/rest/profile/foaf/82650435, si am ramas stupefiat ce minunatii poate hi5-ul sa faca...

Am trecut voiniceste la treaba si am inceput sa scriu (initial in Java) un program care sa parseze pagina returnata in link-ul mai sus pomenit. Dar cand instantiam DOMParserul surpriza! Programul crapa cu o eroare de runtime de forma ConnectionError. What the ... ?

Stupefactia cea mai mare a venit in momentul in care am incercat linkul respectiv si in Internet Explorer, unde incarcarea paginii respective crapa lamentabil cu HTTP error 500. Solutia a venit din partea colegului meu de camera, care pus in aceeasi situatie ca si mine s-a apucat sa inspecteze de zor headerele HTTP cu wireshark ... In fine ... problema se pare ca era de la un tip de encoding care in cererea emisa de Internet Explorer nu exista.

M-am apucat a doua zi sa scriu in python. Am zis ca Java e si asa foarte 'lame' si un mic programash in python m-ar mai revela putin. Cand colo ... erori peste erori ... de parsare, de encoding, ... una peste alta desi se conecta direct (spre deosebire de Java) a trebuit si aci sa masluiesc de mana headerul de HTTPRequest pentru ca altfel crapa cam o data la 5 rulari. Cum implementarea mea actuala foloseste un DFS pentru a parcurge recursiv relatiile din lista mea, calculul gradului relatiei se face prost ... deci inca nu pot sa spun ca ma plictisesc.

Data fiind experienta mea nefericita am hotarat ca pentru cateva zile sa las balta tema si sa nu mai aud de xml-uri. Aaaa ... si sa-mi sterg si contul de hi5! Dar ... intai sa termin tema. :P

Un comentariu:

Cristina spunea...

Tot colegul de camera, nu te lasa la greu... :)) Traiasca Floricel! :p