NBS Srednji kurs eura get_contents

NBS Srednji kurs eura get_contents

offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Potreban mi je srednji kurs za € i da tu informaciju dobijam direktno sa NBS sajta. Napisao sam deo koda i interesuje me da li je ok, da li je ovo "dobra praksa" i da li postoji jednostavnije/bolje rešenje?

 $link = "http://www.nbs.rs/kursnaListaModul/srednjiKurs.faces?lang=lat"; $html = file_get_contents($link); $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); $tables = $doc->getElementsByTagName('table'); //Formirana $nodes  = $xpath->query("//*[@id='index:id31']", $tables->item(1)); $created = $nodes->item(0)->nodeValue; //Eur $nodes  = $xpath->query('tbody/tr/td', $tables->item(1)); $eur = $nodes->item(4)->nodeValue; echo "NBS - " . $created . " Srednji kurs (EUR): " . $eur;

Hvala unapred



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 14 Feb 2008
  • Poruke: 12391

Ne znam PHP ali mislim da mi ovo liči na hardkodirani pristup koji informacije čupa iz source-a stranice ?

To je loše zato što :
- Ako oni izmene nešto na svom sajtu, ti ostaješ bez informacija i moraš da popravljaš kod.
- Imaju već API izgleda, baci pogled ovde : http://nbs.rs/internet/latinica/16/index.html

Citat:Registrovani korisnici veb-servis sistema dobijaju mogućnost pristupa javnim podacima Narodne banke Srbije, putem konzistentnog skupa programskih interfejsa. Na taj način im je omogućeno da ponuđene podatke integrišu u svoje informacione sisteme korišćenjem širokog spektra programerskih tehnologija. Važno je napomenuti da veb-servis sistem ne omogućava pristup podacima preko gotovih vizuelnih interfejsa. Korisnicima je ostavljeno da sami razviju svoje aplikativne module i koriste podatke na način koji najviše odgovara njihovim poslovnim potrebama. Detaljan opis usluga sistema veb-servisa dat je u tehničkoj dokumentaciji.

Još nešto :
Ako imaš mnogo korisnika, pri čemu će svaki put da se povuče ceo source, NBS može da vidi to kao zloupotrebu ili napad ako dolazi sa tvog sajta uvek.

Kažem, ne znam PHP, sačekaj da se javi neko stručniji. Ja bih API svakako koristio ako je dostupan.



offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Srki94 ::Ne znam PHP ali mislim da mi ovo liči na hardkodirani pristup koji informacije čupa iz source-a stranice ?
- Upravo to radi

Inače i meni je prošlo kroz glavu ovo - nisam siguran da je "legalno". Pročitao sam uslove i način korišćenja sistema i ne pada mi na pamet da se učlanim u veb-servis sistem Narodne banke Srbije. Ipak ja pravim samo jednu sasvim običnu web aplikaciju - ništa toliko ozbiljno.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Zar se kurs ne menja na dnevnom nivou? U tom slučaju nema potrebe da se svaki put vuče podatak iz njihove baze, već je dovoljno da se povuče jednom, onda kada prvi korisnik zatraži taj podatak, a tada može i da se sačuva lokalno za dalju upotrebu u toku tekućeg dana.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3747
  • Gde živiš: 127.0.0.1

Koliko se ja secam, kurs se ne osvezava u real-time (bar ne kod nas) - vec samo jednom dnevno (a vikendom se uopste ne osvezava) tako da mozes da uradis sledece:

1. Prvi korisnik dodje na sajt, povuce podatke sa sajta NBS, ti sacuvas u bazi kurs i datum.
2. Svim sledecim korisnicima prikazujes kurs iz baze.
3. Cim prvi korisnik dodje, a datum za kurs se razlikuje od trenutnog - vratis se na korak 1.

Ko je trenutno na forumu
 

Ukupno su 1067 korisnika na forumu :: 39 registrovanih, 4 sakrivenih i 1024 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: babaroga, bigfoot, cenejac111, darkangel, Darko8, Dimitrise93, DPera, draganca, esx66, HrcAk47, ikan, janbo, Joja, Kibice, kobaja77, Koridor, Kubovac, KUZMAR, ladro, laurusri, loon123, mercedesamg, milanovic, Millennium, mnn2, Nemanja.M, Panter, rajkoplje, raketaš, raptorsi, Rogan33, Srle993, Tas011, Trpe Grozni, Vlada1389, vladulns, šumar bk2, žeks62, 79693