DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   Kako da napravim XML... (http://www.devprotalk.com/showthread.php?t=7820)

pitchweis 30. 08. 2009. 12:18

Kako da napravim XML...
 
Verovatno naslov teme nije baš najbolji opis onoga što mi treba, ali interesuje me sledeće:

Kako da od ovog sadržaja (http://www.blic.rs/blog.php?id=208) napravim XML i da onda taj XML da mi prikazuje taj sadržaj na nekom sajtu.

Pretpostavljam da je stvar jednostavna, ali eto, ne znam ni pod kojim ključnim rečima da počnem rešavati problem.

sinisabobic 30. 08. 2009. 15:32

Kad vec nema RSSa ni XML ti nije potreban vec samo napisi nesto sto ce ti vaditi sadrzaj sajta i posle ga pokreci u odredjenim itervalima i cuvaj u bazu nove informacije

evo jednog brzinskog primera za vadjenje sadrzaja
Kôd:

<?php
 
$content = file_get_contents("http://www.blic.rs/blog.php?id=208");

preg_match_all("/<h2><a href(.*)<div class=\"list_komentari\">/iUs", $content, $matches);
$matches = $matches[0];

$neki_niz = array();
foreach ($matches as $tmp)
{
        $explo = explode("\n", $tmp);
       
        $neki_niz[] = array("naslov" => strip_tags($explo[0]), "tekst"  => strip_tags($explo[3]));
}


echo "<pre>";
print_r($neki_niz);
echo "</pre>";

?>

ps. onaj explode ne preporucujem za ovakve stvari vec je bio zgodan za ovaj primer da mi skrati posao :)

holodoc 30. 08. 2009. 18:05

Pod uslovom da sledeće veliko upozorenje o uslovima korišćenja materijala koje kaže, citiram
Citat:

Blic online ima autorska prava na sve sadržaje (tekstualne, vizuelne i audio materijale, baze podataka, programerski kod). Neovlašćeno korišćenje bilo kog dela portala, bez dozvole vlasnika autorskih prava, smatra se kršenjem autorskih prava Blic online i podložno je tužbi.
ne predstavlja problem moja preporuka kod ekstrakcije materijala ovog tipa je da se ne koriste regularni izrazi. Postoje dva bitna razloga zbog čega ih ne bi trebalo koristiti u ovom slučaju a to je kao prvo činjenica da je preg_match_all poprilično "skupo" rešenje ako se kao uzorak za pretragu koristi ovako velika stranica a kao drugo regularni izrazi u ovom slučaju imaju nedostatak da zahtevaju striktno poštovanje metodologije formiranja (X)HTML tagova (redosled atributa u tagu ne bi smeo da se menja inače regex ne funkcioniše).

Moja preporuka u ovakvim situacijama je da se koriste DOMDocument i DOMXpath koji umnogome olakšavaju posao pri manipulaciji (X)HTML sadržaja. Pravila XPath ekstrakcije se veoma lako formiraju i daju se za veoma kratko vreme naučiti da ne pominjem da se mogu koristiti u raznim situacijama čak i kada kod nije validan po W3Cu.

pitchweis 30. 08. 2009. 18:46

Citat:

Originalno napisao holodoc (Napišite 72814)
Pod uslovom da sledeće veliko upozorenje o uslovima korišćenja materijala koje kaže, citiram ne predstavlja problem moja preporuka kod ekstrakcije materijala ovog tipa je da se ne koriste regularni izrazi. Postoje dva bitna razloga zbog čega ih ne bi trebalo koristiti u ovom slučaju a to je kao prvo činjenica da je preg_match_all poprilično "skupo" rešenje ako se kao uzorak za pretragu koristi ovako velika stranica a kao drugo regularni izrazi u ovom slučaju imaju nedostatak da zahtevaju striktno poštovanje metodologije formiranja (X)HTML tagova (redosled atributa u tagu ne bi smeo da se menja inače regex ne funkcioniše).

Moja preporuka u ovakvim situacijama je da se koriste DOMDocument i DOMXpath koji umnogome olakšavaju posao pri manipulaciji (X)HTML sadržaja. Pravila XPath ekstrakcije se veoma lako formiraju i daju se za veoma kratko vreme naučiti da ne pominjem da se mogu koristiti u raznim situacijama čak i kada kod nije validan po W3Cu.

Brate mili, nista ti ja ovde ne razumem :). Što se tiče auorskih prava, tu nema problema, radim za autora tekstova.

holodoc 30. 08. 2009. 21:17

Citat:

Originalno napisao pitchweis (Napišite 72816)
Brate mili, nista ti ja ovde ne razumem :). Što se tiče auorskih prava, tu nema problema, radim za autora tekstova.

Uf pa kako zamišljaš da odradiš posao ako nisi razumeo moj odgovor :1007: To pretpostavljam takođe znači da nemaš preterano iskustva sa PHPom ili možda grešim? Jesi li probao primer koji je dao sinisabobic?

U svakom slučaju ako je autor tekstova u isto vreme i klijent ("Blic" u ovom slučaju) ne vidim razlog zbog čega ti za potrebe aplikacije ne bi dozvolili da preko nekog vrlo jednostavnog interfejsa na njihovom sajtu pristupiš direktno samoj bazi podataka :1007:

sinisabobic 30. 08. 2009. 22:18

Citat:

ne predstavlja problem moja preporuka kod ekstrakcije materijala ovog tipa je da se ne koriste regularni izrazi. Postoje dva bitna razloga zbog čega ih ne bi trebalo koristiti u ovom slučaju a to je kao prvo činjenica da je preg_match_all poprilično "skupo" rešenje ako se kao uzorak za pretragu koristi ovako velika stranica a kao drugo regularni izrazi u ovom slučaju imaju nedostatak da zahtevaju striktno poštovanje metodologije formiranja (X)HTML tagova (redosled atributa u tagu ne bi smeo da se menja inače regex ne funkcioniše).
kao sto rekoh primer je brzinski tako da nije vodjeno racuna o performansama... sa druge strane posto ce to verovatno biti sacuvavano negde mislim da preg_match_all nije preskupa operacija ako je neki kron pokrece jednom na par sati :)

holodoc 30. 08. 2009. 23:44

Citat:

Originalno napisao sinisabobic (Napišite 72825)
kao sto rekoh primer je brzinski tako da nije vodjeno racuna o performansama... sa druge strane posto ce to verovatno biti sacuvavano negde mislim da preg_match_all nije preskupa operacija ako je neki kron pokrece jednom na par sati :)

Mislim da će konkretna implementacija ovde ipak biti veći problem od performansi :)

pitchweis 02. 09. 2009. 16:39

Upravo to - ok. odustao sam od ove varijante, u svakom slučaju, hvala na trudu


Vreme je GMT +2. Trenutno vreme je 15:03.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.