Externe Daten übernehmen

sk-stjohann

Grünschnabel
Hallo erst mal!

Ich habe da ein problem und zwar würde ich gerne von einer anderen internetseite eine zahl (steht in einer tabelle und ändert sich laufend) in mein php skript einbauen. Genauer gesagt, möchte ich mir eigentlich ein programm basteln, dass einen fremdwährungskredit berechnet und mich bei einer gefährlichen währungsschwankung benachrichtigt mittels e-mail, die daten für den währungskurs müsste ich von einer anderen homepage nehmen.

könntet ihr mir helfen wie so ein grabbing von externen daten funktioniert?

DANKE!
 
du brächtest einfach nur die Datenbankdaten der anderen Homepage (denke ist aber unwahrscheinlich, dass du diese bekommst)
Und dann müsstest du lediglich per SQL Befehl alles selecten was du brauchst!
Es geht aber nur wenn der server es zulässt, dass fremde Benutzer auf den Server zugreifen. Bei den meisten ist dies aus Sicherheitsgründen deaktiviert!

Die andere Möglichkeit wäre, dass du per fopen die zielseite ausliest und per php analysierst nach den daten die du entnehmen möchtest!
sprich so (ist nur ein kurzes script zum auslesen der datei und wieder ausgeben auf deinem server!)



PHP:
$handle = fopen  (" *die homepageadresse* ", "r");
while (!feof($handle)) {
    $buffer = fgets($handle, 4096);
    echo $buffer;
}
fclose ($handle);
 
Danke für die rasche Antwort!

Also das auslesen funktioniert, aber danach habe wird mir ja eigentlich nur die homepage angezeigt, wenn ich die php datei mit dem code zum auslesen eingebe, ich bräuchte ja nur eine zahl. Ich brauche von der homepage:
http://www.chartmix.at/p/02080.htm?iExp=0
nur die spalte unten bei EUR/CHF - Kurs aktuell

Diese zahl würde ich gern in meine datenbankschreiben und laufend aktualisieren (automatisch immer wieder von obiger seite).
 
Ja da bleibt dir nichts übrig als bei php.net zu gucken
( da: http://de2.php.net/manual/de/ref.strings.php)

und dir eine php routine zu schreiben die genau nach dieser spalte sucht und wenn du sie gefunden hast, dann musst du spalte für spalte durchgehen und den inhalt der spalten in deine Datenbank speichern!
Ist etwas "aufwendig", aber es ist machbar.
 
Zuletzt bearbeitet:
Dann wirst du dich wohl mit ein wenig mit regulären Ausdrücken beschäftigen müssen, damit du dir ein entsprechendes kleines Script schreiben kannst, dass genau das für dich macht.
 
Versuch das mal wie folgt:


PHP:
//Steht vor der Zahl
$begin = "<TD class=\"tabletext\" align=left>&nbsp;EUR/CHF<br>&nbsp;</TD>

<TD class=\"tabletextm\"  width=\"1\" bgcolor=#D7C5C5 align=left><IMG src=\"../images/bawag/line_grey_vertikal.gif\" border=\"0\" width=\"1\" height=\"1\"></TD>

<TD class=\"tabletext\" align=right>";
//steht nach der Zahl
$end = "&nbsp;<br>&nbsp;</TD>

<TD class=\"tabletextm\"  width=\"1\" bgcolor=#D7C5C5 align=left><IMG src=\"../images/bawag/line_grey_vertikal.gif\" border=\"0\" width=\"1\" height=\"1\"></TD>";
//WICHTIG: muss so dumm stehen also mit Zeilenumbrüchen etc.
//Ausfiltern:
list( ,$a) = explode($begin, $text);
list($info, ) = explode($end, $a);
//Ausgabe:
echo $info;
Nicht getestet

Geb ma bescheid ob es so funktioniert
Kannst den Suchstring $begin $end vll auch bisschen kürzen!


Grtz MrF
 
Zurück