Mailinglisten-Archive |
> > 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