Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Vremenska prognoza, tečajna lista

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 13.02.2006 01:39    Post subject: Vremenska prognoza, tečajna lista Add user to your forum ignore list Reply with quote

Poštovani,

dali je netko možda radio za neki portal i sl. php skriptu, ili kako ste izvlačili podatke s recimo stranice tipa http://prognoza.hr/zgdanas_n.html za vremensku prognozu, odnosno tečajnu listu.

Hvala na odgovorima ! Smile

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
sinke



Joined: 02 Oct 2005
Posts: 257
Location: Zagreb

PostPosted: 13.02.2006 01:58    Post subject: Add user to your forum ignore list Reply with quote

Mislim da bi ti sa ove bilo malo lakše: http://vrijeme.hr/croa_n.html

Sadržaj te stranice pročitaš u neku varijablu i onda to parsiraš. Bilo je sličnih, ako ne i istih, pitanja tu na forumu... Malo potraži.

Napomena: Moraš tražiti dozvolu za korištenje tih podataka.

_________________
THE SHTANZIG | Web Do's & Don'ts
Back to top
View user's profile Send private message Visit poster's website Twitter profile
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 13.02.2006 02:19    Post subject: Add user to your forum ignore list Reply with quote

Tnx. na odgovoru.

Dopuštenje ću napravno tražiti kada sredim skriptu, oni daju da se koriste ti podatci, znate i sami koliko portala ima prikaz vremenske prognoze, a sve ide preko toga.

Zanima me sljedeće, kako da učitam u varijablu $temperatura samo podatak za temperaturu u osijeku, odnosno da ta varijabla uzme samo tekst npr '-2'. Kada to uspijem poslike je lagano vaditi sunčeke, oblačeke i sve potrebno, ispisivati sadržaj te varijable, ili što je već potrebno.

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
:cosmos:



Joined: 12 Sep 2003
Posts: 2098
Location: México

PostPosted: 13.02.2006 09:44    Post subject: Add user to your forum ignore list Reply with quote

imas gomilu servisa koji to rade,, cak nisu ni hrvatski, svi oni koriste podatke sa aerodromskih mjerenja, tako sam ja dobio odg kada sam posalo upit na meteoroloski savez. i reli da imaju nesto za php. meni je trebao asp.

inace,, vani imas servise koji ti to uredno dostavljaju, uglavnom iz zagreba zadra rijeke pule itd.. di su aerodromi Smile
Back to top
View user's profile Send private message Send e-mail Visit poster's website Twitter profile
vedran



Joined: 08 Sep 2003
Posts: 458

PostPosted: 13.02.2006 12:13    Post subject: Add user to your forum ignore list Reply with quote

Ja sam to uspio izvući asp-om.. ali me koštalo dosta živaca.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 13.02.2006 13:29    Post subject: Add user to your forum ignore list Reply with quote

Bok !

Noćaš sam se čuo preko icq-a s mastersinke-om, dao mi je par dosta dobrih natuknica kako da napravim, hvala ti još jednom ! Smile

Znači uspio sam napraviti nešto, još je testna verzija i moram još srediti nešto s učitavanjem datoteke, ali u principu radi. Korišten je php, explode funkcija i može se točno izvući podatak.

Što se tiče svih tih servisa, više manje mi je to ništ koristi za svrhu koja meni treba, izgleda dosta neprofesionalno i amaterski stavljati box od wunderground.com, a i ovo mi je trebalo i za tečajnu listu, koju se nadam da ću uspijeti rješiti na isti način.

LP !

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
gog



Joined: 18 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 13.02.2006 16:37    Post subject: Add user to your forum ignore list Reply with quote

Tečajnu listu valjda čupaš sa http://www.hnb.hr/tecajn/f140206.dat

Vidi http://www.hnb.hr/tecajn/htecajn.htm
Back to top
View user's profile Send private message Visit poster's website
clown



Joined: 19 Oct 2004
Posts: 181
Location: Brestovac DC

PostPosted: 13.02.2006 20:12    Post subject: Add user to your forum ignore list Reply with quote

koristio sam ovu skriptu koju je netko jednom postao na mi3, meni je radila... jos samo unijeti druge valute i to je to...

Code:

<?PHP
   if (
      ( date("md") > date("md", @filectime('tecaj.tmp')) ) &&
      ( date("w") > 1 )
   ) {
      $filec = file_get_contents('http://www.hnb.hr/tecajn/f'.date("dmy").'.dat');
      # note: chmod +w na dir
      if ($handle = fopen('tecaj.tmp', 'w')) {
         fwrite($handle, $filec);
      }

   }
   
   $lines = file ('tecaj.tmp');
   
   foreach ($lines as $line_num => $line) {
   
      if (strlen($line) > 23) {
         $array[substr($line,3,3)] = array((substr($line,6,3)+0),str_replace(",",".",substr($line,9,14)),str_replace(",",".",substr($line,24,14)),str_replace(",",".",substr($line,39,14)));
      }

   }

echo 'Jedinica: '.$array['GBP'][0];
echo 'Kupovni'.round($array['GBP'][1],2);
echo 'Srednji'.round($array['GBP'][2],2);
echo 'Prodajni'.round($array['GBP'][3],2);

?>
Back to top
View user's profile Send private message
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 13.02.2006 21:52    Post subject: Add user to your forum ignore list Reply with quote

@gog

Ova *.dat datoteka je idealna za vađenje podataka Smile !

@clown

Tnx. na skripti, probao sam sam C/P da vidim jel bude radilo, jevilo mi je gresku da nedostaje tecaj.tpm, napravio sam praznu tecaj.tpm, ali mi je prikazivalo 0 za sve valute, ali nije ni važno, mislim da budem rješio tečajnu listu preko explode funkcije.

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
clown



Joined: 19 Oct 2004
Posts: 181
Location: Brestovac DC

PostPosted: 13.02.2006 22:01    Post subject: Add user to your forum ignore list Reply with quote

sorry, mislim da sam ti poslao krivu skriptu... evo ovdje jedna... mislim jos dodati c_kup i c_prod na zadnjem echou...

Code:

<?PHP

function tecajna_lista()
{

   $file = "http://www.hnb.hr/tecajn/hvazeca.htm";
   $check = @fopen($file, "r");
   if(!$check)
   {
      $fp = fopen("cache/tecajna.dat", "r");
      $tecajna = fread($fp, filesize("cache/tecajna.dat"));
      fclose($fp);
   }
   else
   {
      $fp = fopen($file, "r");
      do {
         $data = fread($fp, 8192);
         if (strlen($data) == 0) {
            break;
         }
         $file .= $data;
      } while(true);
      fclose($fp);

      preg_match("/\.\/([[:alnum:]]+)\.dat/", $file, $file);
      //echo $file[0];
      $file = substr($file[0], 2);
      $file = "http://www.hnb.hr/tecajn/".$file;
      $fp = fopen($file, "r");
      $tecajna="";
      do {
         $data = fread($fp, 8192);
         if (strlen($data) == 0) {
            break;
         }
         $tecajna .= $data;
      } while(true);
      fclose($fp);
   }
   $tecajna = explode("\n", $tecajna);
   $tecaj['datum'] = substr($tecajna[0], 11, 8);
   $tecaj['datum'] = substr($tecaj['datum'], 0, 2).".".substr($tecaj['datum'], 2, 2).".".substr($tecaj['datum'], 4, 4).".";
   unset($tecajna[0]);
   
   class listaC
   {
      var $c_jed;
      var $c_name;
      var $c_kup;
      var $c_sred;
      var $c_prod;
   }
   
   $vratiEnd = array();
   
   foreach($tecajna AS $valuta)
   {
      $valuta = explode("      ", $valuta);
      $name = substr($valuta[0], 3, 3);
       
      $jedinica = substr($valuta[0], 6, 3);
       
      if(substr($jedinica, 0, 2) == "00")
      {
         $jedinica = substr($jedinica, 2);
      }
       
      $strukt = new listaC();
      $strukt->c_jed =$jedinica;
      $strukt->c_name = $name;
       
      @$strukt->c_kup = trim($valuta[1]);
      @$strukt->c_sred = trim($valuta[2]);
      @$strukt->c_prod = trim($valuta[3]);
       
      array_push($vratiEnd,$strukt);
      unset($strukt);       
   }
   
   return $vratiEnd;
}
//##################################################


$rezultat = tecajna_lista();
   foreach ($rezultat as $valuta)
   {
      if($valuta->c_name == "EUR" || $valuta->c_name == "USD" || $valuta->c_name == "GBP" || $valuta->c_name == "CHF") //zbog null vrijednosti na kraju (trenutno ne'am pojma zasto :) )
      {
         echo "".$valuta->c_name." ";
         echo " ".$valuta->c_sred."<br>";
      }
   }

?>
Back to top
View user's profile Send private message
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 14.02.2006 00:33    Post subject: Add user to your forum ignore list Reply with quote

Hvala svima na odgovorima !

Uspio sam napraviti tečajnu listu, http://www.hoster-hr.com/tecajna-lista

Evo kod ako nekome zatreba, kod je dosta jednostavan:

Code:
<?php

//UCITAVANJE TECAJNE LISTE S HNB-A
$tecaj_hnb = substr(file_get_contents('http://www.hnb.hr/tecajn/hvazeca.htm'),0,-1);

//UZIMANJE TECAJA (EURO,DOLAR,SVICARSKI FRANAK)
$uzimanje_valute = explode("       ", $tecaj_hnb);

//PRIKAZ TECAJA (EURO,DOLAR,SVICARSKI FRANAK)
echo "Tecaj eura: ";
echo $uzimanje_valute[69];
echo "Tecaj dolara: ";
echo $uzimanje_valute[65];
echo "Tecaj franka: ";
echo $uzimanje_valute[60];

//UZIMANJE TECAJA (FUNTA)
$uzimanje_valute_funta = explode("      ", $tecaj_hnb);

//PRIKAZ TECAJA
echo "Tecaj funte: ";
echo $uzimanje_valute_funta[70];

?>


Btw: Dali ovo usporava učitavanje stranice na kojoj se nalazi tečajna lista i prognoza (skripta učitava cijeli kod stranica meteo.hr/* hnb.hr/*) ?

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 14.02.2006 02:15    Post subject: Add user to your forum ignore list Reply with quote

zelenko wrote:
Btw: Dali ovo usporava učitavanje stranice na kojoj se nalazi tečajna lista i prognoza (skripta učitava cijeli kod stranica meteo.hr/* hnb.hr/*) ?

da. ako imas cron jobove na serveru napravi si skriptu koja povuce podatke s tih stranica i zapise u bazu. i onda ju preko cron joba pozivaj, recimo jednom dnevno.

_________________
Bolje biti malo lud, nego malo pametan.
Back to top
View user's profile Send private message Visit poster's website
gog



Joined: 18 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 14.02.2006 02:31    Post subject: Add user to your forum ignore list Reply with quote

Ne mora niti u bazu, može i u file...
Back to top
View user's profile Send private message Visit poster's website
scip



Joined: 19 May 2005
Posts: 25
Location: osijek

PostPosted: 15.02.2006 15:47    Post subject: Add user to your forum ignore list Reply with quote

evo ja bas nekidan to kucko ..

nije mi u principu bilo jasno ono:
"Tečajevi iz ove liste p r i m j e n j u j u se od 16.02.2006."
a danas je recimo 15. Nisam znao sta ce mi trebat !! , pa sam 'pingo' unazad Smile
Druga stvar, nemoze se ic po danu jer zna bit isti tecaj po par dana ..
ja sam npr. bas ovo kodirao 13. kojeg nije bilo vec je trenutni bio
http://www.hnb.hr/tecajn/f110206.dat

nije zavrseno, al evo .. ideje radi Smile

Code:

<?php

//   http://www.hnb.hr/tecajn/f110206.dat
//   http://www.hnb.hr/tecajn/hvazeca.htm

$cache_reload_time = 7200;             // 2 sata
$cache_file = "./cache.txt";
$zaglavlje = array();
$valuta = array();


////////// INSTALL //////////
if (!file_exists($cache_file)){
$url=HNB_find_new();
HNB_parse($url);
//$time=time();
$content=serialize(time())."\n".serialize($zaglavlje)."\n".serialize($valuta);
$fp=fopen($cache_file,"w");
fwrite($fp,$content);
fclose($fp);   
}

////////// START //////////
$cache_lines = file($cache_file);
$cache_last_time = unserialize($cache_lines[0]);
$zaglavlje = unserialize($cache_lines[1]);
$valuta = unserialize($cache_lines[2]);


if((time()-$cache_last_time) > $cache_reload_time){
   $url = HNB_find_new();
   HNB_parse($url);
   $content=serialize(time())."\n".serialize($zaglavlje)."\n".serialize($valuta);
   $fp=fopen($cache_file,"w");
   fwrite($fp,$content);
   fclose($fp);   
}

//za npr. Danska, sifra 208
echo $valuta['208']['kupovni'] . " , " . $valuta['208']['srednji'] . " , " . $valuta['208']['prodajni'];
//var_dump
echo "<pre>";
var_dump($zaglavlje);
var_dump($valuta);

////////// FCIJE //////////

function HNB_find_new($limit=10){
$i=0;
while($i < $limit){
$url="http://www.hnb.hr/tecajn/f" . date("dmy" ,time()-(86400*$i)) . ".dat";
   if(HNB_ping($url)){ return $url; break; }
$i++;
}
return false;
}

function HNB_parse($url){
global $zaglavlje,$valuta;

$content = file($url);

$zaglavlje=array();
$zaglavlje["tecajnica"]=substr($content[0],0,3);
$zaglavlje["izrada"]=substr($content[0],3,8);
$zaglavlje["primjena"]=substr($content[0],11,8);
$zaglavlje["slogovi"]=substr($content[0],19,2);

$valuta=array();
for($i=1; $i < count($content); $i++){
$sifra=substr($content[$i],0,3);
$valuta[$sifra]["oznaka"]=substr($content[$i],3,3);
$valuta[$sifra]["broj"]=substr($content[$i],6,3);
$valuta[$sifra]["kupovni"]=trim(substr($content[$i],9,15));
$valuta[$sifra]["srednji"]=trim(substr($content[$i],24,15));
$valuta[$sifra]["prodajni"]=trim(substr($content[$i],39,15));   
}
}

function HNB_ping($url){
       $url_info=parse_url($url);
       $port = isset($url_info['port']) ? $url_info['port'] : 80;
       $fp=fsockopen($url_info['host'], $port, $errno, $errstr, 5);
       
       if($fp)
       {
           $head = "HEAD ".@$url_info['path']." HTTP/1.0\r\nHost: ".@$url_info['host']."\r\n\r\n";   
           fputs($fp, $head);     
           while(!feof($fp))
           {
             if($header=trim(fgets($fp, 1024)))  $headers[] = $header;
           }
           fclose($fp);
           if(substr($headers[0],9,3)=='200') return true; //return $headers;
           else return false;
       }
       else return false;
}

//sistem2
function HNB_find_new2(){
$handle = fopen("http://www.hnb.hr/tecajn/hvazeca.htm", "rb");
while (!feof($handle)) {
 $contents .= fread($handle, 8192);
}
fclose($handle);
preg_match('/<a href="\.\/(.*?)\.dat">/', $contents, $matches);
return "http://www.hnb.hr/tecajn/f" . $matches[1] . ".dat";
}

?>


ps onaj [:alnum:] regex mi se vise svidja od ovog mog u HNB_find_new2

_________________
Let Your Bookmarks Define You ..
Back to top
View user's profile Send private message
zelenko



Joined: 29 May 2004
Posts: 107

PostPosted: 17.02.2006 00:05    Post subject: Add user to your forum ignore list Reply with quote

Jel može netko skužiti url-ove od stranica s tablicama podataka za :

http://hidro.hr/hidro.html

http://vrijeme.hr/bio.html


?

_________________
Oj djevojko Hercegovko suzo moja moje oko, srce si mi ukrala Smile !
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group