Te u zagrebu fakultet organizacije I informatike


Slika 6.1 Različiti blogovi na blog.hr servisu



Yüklə 0,49 Mb.
Pdf görüntüsü
səhifə8/15
tarix02.10.2017
ölçüsü0,49 Mb.
#2688
1   ...   4   5   6   7   8   9   10   11   ...   15

20 

 

 



Slika 6.1 Različiti blogovi na blog.hr servisu 

 

Struktura  blogova  usmjerila  je  dizajn  programa  pretraživača.  Prikupljanje  podataka 



napravljeno je tako da proces obrade jednog bloga generira dodatne blogove za obradu. Početni 

blog  odabran  je  nasumično  meĎu  trenutno  predstavljenim  blogovima  na  stranicama  blog.hr-a. 

Cilj  je  bio  prilikom  obrade  bloga  pronaći  sve  blog  postove  i  sve  komentare  koji  se  na  njemu 

nalaze. Kako se struktura blog stranice uvelike razlikuje od bloga do bloga, program pretraživač 

pomoću  nekoliko  jednostavnih  pravila  prolazi  kroz  sve  dostupne  stranice  koje  pripadaju 

pojedinom  blogu.  Srećom,  kako  smo  već  spomenuli,  svi  blogovi  imaju  link  na  stranicu  s 

komentarima na pojedini blog post. Struktura ove stranice odreĎena je blog.hr servisom uvelike 

olakšavajući prikupljanje podataka iz komentara.  Na slici 6.2. možemo vidjeti izgled stranice s 

komentarima koja je jednaka za sve blogove. 



21 

 

 



Slika 6.2 Stranica s komentarima ureĎena od strane blog.hr servisa 

 

Program  pretraživač  je  napisan  u  Javi.  Koristi  jsoup  za  parsiranje  HTML-a  (engl. 



Hypertext  Markup  Language),  te  activejdbc  za  komunikaciju  s  MySQL  bazom.  Prilikom  rada 

prolazi kroz zadani blog prikupljajući sve stranice koje mu pripadaju, na taj način prikupljajući i 

sve dostupne komentare. Prilikom skupljanja komentara, kako je već spomenuto, prikupljaju se i 

novi  blogovi za obradu. Pojednostavljeni  prikaz rada  programa pretraživača  prikazan je  slikom 

6.1. 

 

Slika 6.3 Pojednostavljeni rad programa pretraţivača 



 

Rad programa pretraživača ukratko se može opisati na sljedeći način: 

Ima li u bazi podataka u tablici blogova neobrađenih blogova?  

 

Obradi prvi neobrađeni blog 



 

 

Učitaj URL bloga 



 

 

 



Obradi stranicu 

 

 



 

 

Pronađi sve valjane linkove i upiši ih u tablicu link_todo 



 

 

 



 

Pronađi sve komentare  

Koji je blog autor komentara?  

Ako taj blog ne postoji u tablici blogova dodaj ga 

Dodaj komentar u tablicu komentara 

 

 



Ima li valjanih linkova u tablici link_todo? 


22 

 

 



 

 

Obradi stranicu 



 

Zapiši da je blog obrađeni i vrati se na početak 

 

Započinjemo s petljom koja se izvršava dok u tablici blogova ima neobraĎenih blogova. 



Prilikom  svake  iteracije  te  petlje  iščita  se  URL  (engl.  Uniform  Resource  Locator)  jednog 

neobraĎenog bloga te se taj blog krene obraĎivati. Pritom se učita navedeni URL, te se na njemu 

obavlja pronalaženje linkova i komentara. Kroz proces pronalaženja linkova učitana stranica se 

pregledava  za  linkove  koji  ispunjavaju  odreĎene  uvjete,  a  ti  su  da  pripada  blogu  kojeg 

obraĎujemo ili da vodi na stranicu s komentarima. Ukoliko link ispunjava jedan od ovih uvjeta i 

pritom  nije  već  zapisan  u  link  cache  tablicu,  dodaje  se  u  tablicu  link  _todo.  Postoji  poseban 

slučaj kada pronaĎeni link vodi na neki drugi blog. Tada ga zapisujemo u tablicu blogs odnosno 

zapisujemo  ga  za  buduću  obradu.  Nakon  pronalaženja  linkova  na  stranici  se  izvršava 

pronalaženje  komentara.  Proces  pronalaženja  komentara  traži  specifične  HTML  elemente  koji 

odgovaraju strukturi komentara na stranici s komentarima odreĎenima od strane blog.hr servisa. 

Nakon što  pronaĎemo  komentar, podatke o njemu  upisujemo u tablicu komentari (comments). 

Isto  tako,  ukoliko  pronaĎemo  neki  blog  s  kojim  se  dosada  nismo  susreli  i  njega  zapisujemo  u 

tablicu  blogova  za  buduću  obradu.  Time  završavamo  pronalaženje  komentara.  Nakon  obrade 

ovog  prvog  URL-a  ulazimo  u  drugu  petlju  koja  se  izvršava  dok  god  ima  još  linkova  u  tablici 

link_todo. Ukoliko ima, učita se URL iz link_todo i ponovno se na njemu izvršava pronalaženje 

linkova i pronalaženje komentara. Zatim se taj link izbriše iz tablice list_todo. Završetkom ove 

petlje prazni se link_cache te se blog navodi kao obraĎen. 

 

6.2.  Eksport u Gephi 



 

Kako bi vizualno prikazali podatke o komunikaciji meĎu blogovima prikupljene pomoću 

programa pretraživača, bilo je potrebno podatke spremljene u bazu podataka pretvoriti u format 

razumljiv Gephi programu. To je .gexf format datoteke. Eksportiranje se obavlja tako da se šalje 

upit  u  bazu  podatakakojim  se  učitavaju  svi  zapisani  blogovi,  te  stvaraju  čvorovi  počevši  od 

onoga kojem je datum nastajanja najstariji. Nakon toga eksporter prolazi kroz sve komentare iz 

baze i zapisuje ih kao vezeu .gexf formatu. Na taj način nastaju novi čvorovi i veze izmeĎu njih. 

Veze izmeĎu blogova dodaju se na način da gledamo postoji li već veza izmeĎu čvora i i čvora j

Ukoliko veza ne postoji dodajese. Ako je veza postojala prije, tada se mijenja težina tako da ae 

povećava za jedan i zapisuje vrijeme kada se težina veze izmeĎu blogova promijenila. Na kraju 

svi podaci se ispisuju u .gexf formatu datoteke. 



23 

 

6.3.  Obrada u Gephi 

 

Nakon pripreme u .gexf format podaci se mogu učitati u Gephi alatu za vizualizaciju. Naš 



rad  u  Gephiju  biti  će  spremljen  kao  Gephi  projekt  te  će  se  taj  oblik  kasnije  koristiti  prilikom 

stvaranja videa kojim je vizualno prikazana komunikacija kroz vrijeme. Prikupljeni podaci dalje 

su obraĎivani ne bi li iz njih dobili što više informacija. Tako su za naš graf izračunati dodatni 

atributi  kao  što  su  modularnost  (engl.  modularity)  i  blizina  centriranosti  (engl.  closeness 



centrality).  Modularnost  nam  omogućuje  lakše  raspoznavanje  podgrupa  unutar  grafa 

dodavanjem  različitih  boja,  pa  su  prikazani  čvorovi  različito  obojani  u  boje  skupine  kojoj 

pripadaju  na  osnovu  izračuna  modularnosti.  Mjerom  blizine  centriranosti  odreĎuje  se  veličina 

čvora i to na način da što je neki blog veći označava da ima veći broj kratkih veza, odnosno da je 

bolje  povezan  s  drugim blogovima.  Ove  vrijednosti  dodijeljene  su  pojedinom  čvoru  od  samog 

početka prikaza i ne mijenjaju se dalje kroz vrijeme. S druge strane, veze koje spajaju čvorove 

mijenjaju se s obzirom na podatke zapisane u .gexf datoteci, te na grafu možemo vidjeti vrijeme 

kada nastaju i promjene njihove težine ukoliko do nje dolazi. Osim postavljanja ovih vrijednosti, 

učinjene  su  još  neke  dodatne  male  izmjene  ne  bi  li  naš  graf  bio  pregledniji,  pa  je  tako 

pozadinapostavljena u crnu boju i omogućena je transparentnost veza. 

 

6.4. 

Program za stvaranje prikaza dinamičke vizualizacije

 

 

Gephijeve  mogućnosti  za  obradu  dinamičkih  grafova,  u  inačici  koja  je  korištena  u 



vrijeme  pisanja  rada  (0.8.2.-beta)  su  ograničene.  Sam  Gephijev  modul  za  vizualizaciju  nema 

mogućnost izrade videa, i premda je moguće prikazati razvoj dinamičkog grafa unutar Gephijeve 

radne  površine,  preciznost  i  kvaliteta  prikaza  su  mnogostruko  manji  nego  kada  se  koristi 

Gephijev modul za vizualizaciju. Kako bi prikaz bio kvalitetan, iskorišten je taj Gephijev modul 

kako bi se izgenerirao slijed od velikog broja slika koje su kasnije spojene u video.U realizaciji 

je  korištengephi  toolkit  library  pomoću  kojeg  je  moguće  programski  pristupiti  svim 

mogućnostima  koje  Gephi  pruža.  Za  potrebe  ovog  rada  korištena  je  nestabilnainačica  (gephi-

toolkit-0.9-20130429.180226-105-all.jar)  zbog  nekoliko  neispravnosti  u  aktualnoj  stabilnoj 

inačici. Program koji generira slike vizualizacije radi na jednostavan način; na početku se učitava 

već pripremljeni Gephi projekt, postavlja se početni i krajnji datum vizualizacije, te radni datum 

na  početni  datum.  Pokreće  se  petlja  koja  će  se  izvršavati  sve  dok  je  radni  datum  raniji  od 

krajnjeg. Unutar petlje graf se filtrira na period od početnog datuma do radnog. Zatim se izvodi 

50 iteracija algoritma za rasporeĎivanje  – force atlas 2 – pri svakoj iteraciji izgenerira se .png 

sličica  prikaza  grafa.  Na  kraju  petlje  radni  datum  se  pomiče  unaprijed  za  dan  te  se  petlja 




Yüklə 0,49 Mb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   15




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə