phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?Re:_B=F6rsen-Kurse?=

Re: Börsen-Kurse

Andreas Langen mysql_(at)_lists.phpcenter.de
Tue, 10 Jul 2001 01:19:17 +0200


> > Wenn ja wie geht das?
> >
> > Gruß René

> falls du dir nicht leisten kannst, Reuters etc. zu bezahlen,
> kannst du dir die kurse z.B. von yahoo abholen:
>   - du schreibst ein script, das die HTML-Dokumente per http
>     von einer Website abholt
>   - das abgeholte Dokument (ein riesig langer Textstring)
>     durchsuchst du anschliessend nach den relevanten Infos
>   - und dann rein damit in die Datenbank

Hab ein paar Quellcodes rausgesucht. Die müssten natürlich beide noch auf
Deine
bedürfnisse umgestrickt werden.

Lösung 1 mit Java:
Du musst lediglich (z.b.: mit dem StringTokenizer) nach dem Kurs in der URL
suchen.

import java.io.*;  // Import benötigter Klassen

public class Börsenkurs {
   public static void main(String args[]){

/*------------------- Deklaration --------------------*/

      BufferedReader  br_eins;
      String   content_eins;

/*--------- Versuche die Dateien zu öffnen -----------*/
       try {
        br_eins = new BufferedReader(new FileReader("Deine URL"));    //
Instanz Reader Eins
        Writer writer = new FileWriter("In die Datenbank");
// Instanz Writer

/*------ URL auslesen und direkt schreiben -------*/

        while ((content_eins = br_eins.readLine()) != null)
{writer.write(content_eins);}

/*----------------- Alles schließen ------------------*/

         br_eins.close();
         writer.close();
         } catch (IOException e) {System.out.println("Fehler beim Lesen der
Datei");
        }
   }
}

Und die selbe Lösung in PHP: Hier wird ein Cachefile angelegt, was natürlich
auch in der Datenbank liegen kann.

$link_prefix =  "  -";
$link_postfix =  "<br>\n";
$cache_file =  "tmp/börsenkurs.cache";
$cache_time = 60;
$time = split( " ", microtime());
srand((double)microtime()*1000000);
$cache_time_rnd    =    300 - rand(0, 600);

if ((!(file_exists($cache_file))) || ((filectime($cache_file) +
$cache_time - $time[1]) + $cache_time_rnd < 0) ||
(!(filesize($cache_file))) ) {
$fp1=fopen( "http://www.Dein Börsenkurs.de,  "r");
while(!feof($fp1))

$eineZeile = fgets($fp1, 10240);
if (eregi( "<a href=\"(.*)", $eineZeile, $wichtiges))

list ($a1, $a2)= split('target=\"SPON5NP\"',$wichtiges[1]);
$wichtiges[1]=$a1."html target=\"_blank\"".$a2;
$match2 .=  "$link_prefix <a href=\"http://www.Dein
Börsenkurs.de$wichtiges[1]</a>";
$fpwrite = fopen($cache_file, 'w');
fputs($fpwrite,   "$match2");
fclose($fpwrite);
}
}
fclose($fp1);
}
include( "$cache_file");
print "</font>";
?>

Vielleicht klappt der Laden ja damit. Viel Erfolg!
Andreas


---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive