BluePink BluePink
XHost
Gazduire site-uri web nelimitata ca spatiu si trafic lunar la doar 15 eur / an. Inregistrare domenii .ro .com .net .org .info .biz .com.ro .org.ro la preturi preferentiale. Pentru oferta detaliata accesati site-ul BluePink

Am ales pentru rezolvarea temei hi5 si python. Alegerea a fost, dupa cum s-a dovedit mai tarziu una cum nu se poate mai nefericita dupa cum se observa si din observatiile mele anterioare.


Cerintele temei au fost foarte simple. Tot ce se cerea era pornirea de pe o pagina home a unui utilizator de hi5 si parcurgerea relatiilor lui, ... apoi parcurgerea relatiilor relatiilor lui ... si tot asa pana la o anumita adancime configurabila in program. Informatiile retrase de pe urma parcurgerii se scriau intr-un fisier xml cu un anumit format. In principiu se cereau url-ul paginii "relatiei", adancimea de la nodul de pornire, precum si parintele direct in relatie.


Din exces de zel am realizat doua implementari ale temei, una mai proasta ca alta.


Prima este un DFS care se executa pornind de la url-ul dat si retrage "toate" relatiile pana la o anumita adancime. Toata functionalitatea programului se restrange la o functie recursiva care se propaga din url in url si scrie rezultatele. Singura problema la abordarea asta e ca adancimea nu se calculeaza corect. Avand in vedere ca relatiile stabilesc intre ele o topologie de graf, si nu de arbore adancimea se calculeaza de la parintele direct in dfs, deci cam nasol.


A doua este ... evident un BFS, scris tot cu picioarele. Implementarea - clasica : o coada in care se indeasa url-uri si pe care se cicleaza pana se goleste sau se ajunge la o adancime mai mare decat cea ceruta. O alta coada tine adancimile relatiilor (deja incepe sa para ciudat). Ambele implementari au un set cu scopul de a evita vizitarea aceluiasi url de doua ori.


Partea cea mai interesanta este ca ruland cele doua scripturi python cu un url aleator de pe hi5 vor returna un xml cu un numar diferit de tag-uri, asa ca ... nu pot decat sa sper ca macar unul dintre ele este corect.


Downloadeaza arhiva cu tema.


Copyright Dragos Tarcatu, 1 Decembrie 2008