![]() 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 |
Deviza echipei:
Design CTT pentru blogspot.com
Swing GUI pentru cautarea de conversatii
Interfata web pentru highligh de text
Interfata blogger modelata cu arbori CTT
Analiza comunitatii HI5 si afisarea grafica...
Web 2.0...3.0... spre ce ne indreptam...?
XSLT - Ce...? De ce...? Cum...?
Sfaturi pentru integrarea JSON cu AJAX
Web Semantic - concepte de baza
CSS ... sau big bang-ul din web!
AJAX, echipa de fotbal si tehnologie web!
Top 10 interfete interactive
Interfete interactive
2009 Information Technologies impacts
What is design?
Prezentare Google in Poli.html
De ce nu apare situl pe trafic.ro?
What is GeoJson ???
A "Sexy++" interface ... or not
python + xml + hi5 - combinatia ideala...
Open Social-un trend in crestere pentru...
Raspunsuri la mesajele venite pe adresa...
Am ales sa analizez/parsez situl hi5.com cu scopul de a extrage informatii despre prieteni dar mai ales pentru a rezolva tema 1 la IE :) Acum deadline-ul a trecut, eu am prezentat tema, am obtinut punctajul maxim, asadar am putut uploada cu incredere tema pe acest site.
In principiu tema executa ceea ce specifica si enuntul:
"Se cere sa se realizeze o aplicatie care sa extraga cunostinte referitoare la relatiile sociale in cadrul unei comunitati. Aplicatia va pleca de la url-ul unui utilizator si va extrage informatiile despre relatiile acestuia in interiorul comunitatii prin analiza paginilor HTML de pe site-ul/site-urile comunitatii respective. "
In plus fata de specificatiile temei, just for fun, am ales sa extrag si alte informatii despre prieteni, printre care si URL-urile pozelor de profil. Acest lucru mi-a dat ideea sa reprezint structura ierarhica a relatiilor de prietenie in format html pornind de la id-ul meu.
Ce a iesit vedeti accesand lista de prieteni. Puteti incerca si voi specificand in fisierul de configurare, id-ul userului de la care se porneste si adancimea maxima de procesare a relatiilor de prietenie.
Iata acum cateva detalii tehnice despre implementare
Aplicatia citeste id-ul userului si adancimea maxima de parsare din fisierul config.xml iar apoi va parsa recursiv paginile de profile de pe hi5 cu scopul de a obtine listele de URL-uri ale prietenior dar si detalii despre poza profil, nume, locatie, varsta si data nasterii. In cazul in care un prieten nu mai este inregistrat pe hi5 sau pagina lui nu poate fi parsata, se va afisa un mesaj de eroare. De asemenea in locul informatiilor suplimentare gen locatie, varsta etc. care nu au fost procesate/extrase se va afisa N/A(not available). Dupa procesare va rezulta o structura de tip Hi5Person(care contine informatii despre persoana respectiva si o lista de prieteni tot de tipul Hi5Person). De asemenea clasa Hi5Person, contine o referinta catre parintele sau, cu scopul de a evita referintele circuare.Aceasta structura arborescenta va fi prelucrata recursiv in final pentru a se genera fisierul results.xml care contine relatiile de prietenie ale userului principal cu ceilalti useri. Aditional se genereaza si un fisier html care va prezenta grafic, sub forma ierarhica, relatiile de prietenie dintre persoane( se prezinta detalii despre persoane si pozele de profil).
Tema a fost realizata in Java 1.6 utilizand SAX (pentru parsare paginilor) si DOM(pentru citirea fiserului de configurare).
Avand in vedere ca paginile HI5 nu sunt well formated si nu pot fi parsate de SAX-ul standard din Java, a trebuit sa folosesc un parser open-source HotSAX care este in stare sa parseze si documente care nu respecta standardul xHTML.
Pentru compilare si rulare aveti la dispozitie un script de Ant build.xml sau optional un makefile. ESTE NECESAR JAVA 1.6
Copyright Georgian Micsa, 17 Noiembrie 2008