[PHP] Informationen aus einer externen Datei auslesen

HighTec

Lieutenant
Registriert
Sep. 2006
Beiträge
761
Guten Morgen liebe Forengemeinschaft,

ich hatte schon versucht etwas heraus zu finden nur ich komme nicht wirklich weiter bei meinem Problem.

Ich möchte aus einer externen Homepage (ganz normale Homepage auf die ich unregestriert zugreifen kann.) Nehmen wir mal als Beispiel http://www.spiegel.de/.
Dort möchte ich den HTML Code der mir nunmal zur Einsicht zur Verfügung steht auslesen, aber ich möchte nicht alles auslesen sondern immer nur einen bestimmten bereich der mir eine bestimmte Information liefert, damit ich diese in meinem PHP script weiter verarbeiten kann.
Nehmen wir mal als Beispiel auf http://www.spiegel.de/ den Fussball Liveticker auf der rechten Seite. Dort möchte ich nur den HTML Code für die Tabelle auslesen.
Der Rest ist vollkommen belanglos.
Ich weiß zumindest schonmal das ich das auslesen erstmal mit FREAD bewerkstelligen kann. Nur hab ich keinen Schimmer wie ich nun ganz speziell den HTML Code vom Live Ticker auslesen und somit weiterverarbeiten kann.

Ich würde mich freuen wenn mir wer weiterhelfen könnte.

Greetz

HighTec
 
Hallo,

also wenn du z.B. fgets() verwendest, kannst du eine Datei Zeile für Zeile auslesen, und mit den geeigneten String-Funktionen in jeder Zeile nach für dich relevanten Daten suchen... aber hast du es bereits hinbekommen, eine HTML-Seite einer Homepage auszulesen?

mfg
mitos
 
Nein ganz ehrlich gesagt. Ich habe mich bisher nur informiert und hatt auch etwas über die fgets() funktion gelesen. Nur ich brauche eine möglichkeit die mir einen ganz bestimmten Codeschnipsel liefert. So etwas wie zum Beispiel "Zeig mir den 3. Link von oben an. Oder wie in meinem Beispiel Zeig mir die Tabelle an die zwischen
"Fußball-Bundesliga
27. Spieltag"
UND
"Blitztabelle Bundesliga"

steht.

Greetz

HighTec
 
So wie du es haben möchtest ist es nicht möglich.
Das kannst du nur mit einem RegEx machen, in dem du den Kompletten inhalt der Seite in einer Variable speicherst,
und dann nach dem Container suchst in dem die Informationen stehen.

Grüße

krizzel
 
Hallo,

sowas kannst Du am besten mit Regular Expressions bewerkstelligen:

http://de.php.net/manual/en/function.preg-match.php

  1. Du liest die URL (am besten mit der Funktion "file_get_contents") in eine Variable ein. Diese Variable enthält dann das gesamte HTML der eingelesenen URL.
  2. Du entwickelst entsprechende "Regular Expressions" um den Teil zu filtern, den Du haben möchtest.

Regular Expressions sind allerdings ein Thema für sich und benötigen eine gewisse Einarbeitungszeit :D.

Hier mal noch ein Link zu einem Tutorial:

http://evolt.org/node/22700

greeTz
waYan
 
Hmm das kannst du eigentlich ziemlich einfach selbst realisieren, wenn du erstmal die Daten der Seite hast.

z.B. mit split() kannst du einen String aufteilen, dann suchst du z.B. mit strcmp() nach einem bestimmten Wort z.B. "<a" für den anfangstag eines Links... oder du schreibst dir schnell selbst eine Suchfunktion mit 2 FOR -Schleifen...

Oder wie genau sollte der Codeschnipsel funktionieren?

mfg
mitos
 
Super das scheint mir das zu sein, was ich gebrauchen kann.
Ich habe übrigens noch eine deutsche erklärung zu den Regular Expressions gefunden

http://www.sql-und-xml.de/regex/index.html

Allerdings werde ich mich auch mit mitos seinen tipps befassen

Ich werde mich dort ersteinmal einarbeiten und mich dann melden ob ich noch probleme habe, oder obs funtioniert.

Erstmal vielen Dank soweit

Greetz

HighTec
 
Hmm die RegEx klingen wirklich gut :) Werd ich mir auch mal anschauen...

mfg
mitos
 
Zuletzt bearbeitet:
Zurück
Oben