Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Waluty
Forum PHP.pl > Forum > PHP
rafkam
Czy ma ktos pomysl lub widzial taki scrypt ktory sprawdza codziennie wartosci walut ze strony http://www.nbp.pl/statystyka/index.html i wstawia je na np: swojej stronie.
steru
sciagnac strone http://www.nbp.pl/Kursy/KursyA.html - i wyciagnac dane z tabelki smile.gif - prosta sprawa
rafkam
Cytat
sciagnac strone http://www.nbp.pl/Kursy/KursyA.html - i wyciagnac dane z tabelki smile.gif - prosta sprawa


Chciałbym bardzo to zrobic tylko ze slabo sie znam na tym. Czy mozesz mi podac jakies wskazowki, praynjmniej jak sie do tego dobrac. Na razie jestem na etapie przerabiania gotowcow

Z gory dzięki
steru
wskazowka: funkcje eregopochodne + wyrazenia regularne, albo w inny stringowy sposob znalezc jakas regule w pokazywaniu tych danych i na tej podstawie tak obrobic sciagnieta strone, abys uzyskal zadany wynik
Mac
Cytat
Cytat
sciagnac strone http://www.nbp.pl/Kursy/KursyA.html - i wyciagnac dane z tabelki smile.gif - prosta sprawa


Chciałbym bardzo to zrobic tylko ze slabo sie znam na tym. Czy mozesz mi podac jakies wskazowki, praynjmniej jak sie do tego dobrac. Na razie jestem na etapie przerabiania gotowcow

Z gory dzięki

Spróbuj przez fopen pobrać stronę NBP z walutami, wytnij tagi html i wszystko poza walutą wykorzystując np. funkcje eregi_replace i potem to co zostało (czyli wartosc waluty) zapisz do zmiennej i już maszz gotowe smile.gif
smile.gif
em1X
jak bede mial komp wlaczony to mozesz zobaczyc skrypt ktory napisalem,

pobiera kursy kantorow, kursy nbp oraz GPW z serwisu money.pl:

http://mx1.dnsalias.com/money/
rafkam
Cytat
jak bede mial komp wlaczony to mozesz zobaczyc skrypt ktory napisalem,

pobiera kursy kantorow, kursy nbp oraz GPW z serwisu money.pl:

http://mx1.dnsalias.com/money/


O coś takiego mi chodziło (jedynie tylko zeby zawieralo wiecej walut) biggrin.gif
Czy mógłbyś zamiescić taki skrypt na forum lub wysłać go do mnie .
Jesli tak to podam ci maila ok. Jeśli nie to i tak dzieki za zainteresowanie.

mój adres to - kaminskir@interia.pl
tom23
Kurcze mi tez te skrypty mi sie podobaja. Mozesz mi przesłac na meila.
piestrt@wp.pl
bardzo dziękuje
Tomek
em1X
yy to ja lista subskrypcyjna jestem :/ ?
Azaghal
ja napisalem tak skrypt, wprawdzie kozystajacy z danych pochodzacych rozwniez z nbp, ale sciaga je z pliku xml ktory zamieszczaja. Ktos mi zarzucil ze to lamanie praw autorskich takze nie wiem smile.gif

ale wyslac moge ( jezeli masz php pod linuxem to musisz przkompilowac je z opcja --with-xml)

daj znac
rafkam
Cytat
yy to ja lista subskrypcyjna jestem :/ ?


Nie jesteś listą tylko człowiekiem

podaje kod sql:
Kod
CREATE TABLE waluty (

        data date NOT NULL,

        nazwa varchar(255),

        ile int4,

        symbol varchar(15) NOT NULL,

        kupno numeric(11,4),

        sprzedaz numeric(11,4));

CREATE UNIQUE INDEX wal_ind ON waluty(data, symbol);


i pliczek phpowy:
Kod
<?





$is_address =0;

$adres = "http://www.nbp.pl/Kursy/KursyC.html";

if ($plik = fopen($adres, "r"))

{ $is_address = 1; }



if (!$is_address) { exit; }

$przeczytane = "";



while (!feof($plik))

{

  $przeczytane = $przeczytane . fgets($plik, 10000);



}

fclose($plik);

$przeczytane = str_replace(chr(10),"",$przeczytane);

$przeczytane = str_replace(chr(13),"",$przeczytane);

$przeczytane = str_replace("t","",$przeczytane);

$przeczytane = str_replace(" <sup>*)</sup>","",$przeczytane);

if (!preg_match("/z dnia <b>(d+-d+-d+)/",$przeczytane,$data))

{ exit; }

print "$data[1]<BR>";



if (!preg_match("/<td width="70" align="right" class="grlgb"><b>sprzedaży</b></td>(.*)</table><br /",$przeczytane,$znalezione)) { print "blad";exit; }

$znalezione=$znalezione[1];

$znalezione=preg_replace("'<[/!]*?[^<>]*?>'si",";",$znalezione);

$znalezione=preg_replace("';+'si",";",$znalezione);



$linie = explode(";",$znalezione);



    $dbl=@mysql_connect("localhost", "domin", "domin");

    mysql_select_db(domin, $dbl);



        print ('Poł&plusmn;czenie nawi&plusmn;zane<BR>');





for ($x=1;$x<count($linie)-1;$x=$x+5){

    $ile=explode(" ", $linie[$x+2]);

#    print $linie[$x]." ".$linie[$x+1]." ".$linie[$x+2]." ".$linie[$x+3]." ".$linie[$x+4]."<BR>";

    $sql="INSERT INTO waluty (data, nazwa, ile, symbol, kupno, sprzedaz) VALUES ('$data[1]', '$linie[$x]', '".$ile[0]."', '".$ile[1]."', '".$linie[$x+3]."','".$linie[$x+4]."')";

    print "$sql <BR>";

    $mysql_result = mysql_query($sql, $dbl);

    $sql="UPDATE waluty SET  data='".$data[1]."', nazwa='".$linie[$x]."', ile='".$ile[0]."', symbol='".$ile[1]."', kupno='".$linie[$x+3]."', sprzedaz='".$linie[$x+4]."' where data='".$data[1]."' AND symbol='".$ile[1]."'";

    print "$sql <BR>";

}



    mysql_close($dbl);



?>


POwinien działać - sprawdzałem
Omega
Może to i stary temat, ale często zaglądany. Ja pobrał bym stronę z której chcemy ściągnąć informację w sposób:
$strona=implode(" ", file(adres_strony.htm));
będzie szybciej, a dalej przy pomocy wyrażeń regularnych mozna znaleźć wszystko bez problemu... To oczywiście tylko sugestia... smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.