[ web000 @ 17.06.2012. 11:46 ] @
Cisto vezbe radi pravim agregator dnevnih ponuda sa sajtova za grupnu kupovinu. Njih ima oko 10,000 tako da ne nameravam da za svaki pravim xpath scraper vec sam smislio malo drugacije resenje i nadam se da cete mi pomoci da ga usavrsim.

Ovako sa svakog sajta najpre treba da izvucem naslov. Najpre sam mislio da parsiram html i svaku recemicu posebno obradjujem tj. pasus. Naslov je uvek recenica koja opisuje ponudu pa sam sastavio i tablicu verovatnoce da ce neka recenica (pasus) odgovarati sablonu.

evo primera za recenice. http://www.groupon.com/deals/g...e-resort-and-spa?c=all&p=1 ---> "One-Night Stay for Four in a Superior Room with Waterpark Passes and Casino Credit. Up to Two Kids Stay Free."

http://www.groupon.com/deals/icons-4?c=all&p=0 -----> "Icons – St. John's Men's or Women's Salon Package, or Manicure with Paraffin Treatment (Up to 51% Off)"

http://www.livingsocial.com/es...918-south-hampton-roads-resort -----> "Channeling Our Forefathers in Virginia"

http://www.kolektiva.rs/beogra...bazenima-tenesi-popust-50.html -------> "Ovog leta uživajte i rashladite se na bazenima "Tenesi"! Popust 50%! Celodnevni boravak na bazenima, uživanje na ležaljkama + obrok!"

primer koda:

p = get_page('some url') //get source code from some url in string p
main_sentence(p) //make procedure that will extract main sentence from string p

Ima li neko ideju kako iz celog teksta prepoznati recenicu koja opisuje ponudu tj. glavnu recenicu.

tablica verovatnoce - koje jos parametre da dodam: [att_img]http://i.stack.imgur.com/IdLs8.jpg
[ ColdKeyboard @ 17.06.2012. 21:39 ] @
Skoro svaki bolje dizajniran sajt ti ima neku HTML hijerarhiju koja je uvijek ili skoro uvijek ista. Tako da bi naprimer uvijek mogao da se oslonis na to da je dizajn
XY sajta takav da ide HTML>Body>Div#main>Div#ponude>span.ponuda-naslov ili nesto slicno za naslov, pa isto tako i za glavni tekst itd itd.

Tako gledano, mnogo je lakse uzeti i napisati XPath koji ce otici na zadatu stranicu i iz nekog array-a koji mu zadas izvaditi koji su parametri (ili skup parametara)
za naslov, tekst, cenu, popust itd itd i onda samo uraditi foreach petlju i sa date stranice pokupiti sve ponude.

Cak ako imas vremena, sa jQuery mozes napraviti bota, kojeg bi jednom "odveo" na sajt, iskliktao mu na elemente koji su ti od interesa (naslov, tekst, cena itd)
i nakon toga on bi sam znao kako da ode na taj sajt i sta da uzima i cuva u bazi.

Pozdrav,
Sale