fremde Seite auslesen

  • geschlossen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • fremde Seite auslesen

    Hallo,

    ich möchte mit php auf einer externen Webseite gucken, ob eine bestimmte Grafik vorhanden ist.
    In meinem Fall wäre das die new.gif.
    Ich muss also die Datei irgendwie öffnen und gucken ob ich in der Datei auf folgendes stoße:

    Quellcode

    1. <img src="new.gif">

    Nur wie mache ich das?
    Im Internet hab ich dazu leider recht wenig gefunden und meine Versuche dies komplett selbst zu lösen scheiterten auch relativ schnell :(

    Vielleich könnt ihr mir ja helfen.

    mfg
    Yoda2003
  • Einfach öffnen ;)

    PHP-Quellcode

    1. $lines = file ('http://www.example.com/');


    Und dann suchen.

    PHP-Quellcode

    1. foreach ($lines as $line_num => $line) {
    2. if ( stripos( $line, '<img src="new.gif">' ) ) echo "Gefunden! ;-)";
    3. }


    Einfachste Lösung

    -bronco
  • moinsen.

    also ich mach das immer ungefähr so:

    $url='http://...';
    $seite=implode("\n",file($url)); // den gewünschten quelltext in $seite laden

    // dann einfach $seite durchsuchen
    $pos=strpos($seite,'<img src="new.gif">');

    if($pos > 0){
    echo "erfolgreich";
    }


    du musst nur mit dem strpos-teil aufpassen...ich weiß nie so recht wie es sich verhält, wenn der gesuchte string am seiten anfang ist, aber normalerweise sind da ja noch die html-tags usw ;)

    mfg solitary man
  • Ihr seid klasse Jungs ;)
    Es funzt xD
    angenommen ich wüsste hinter dem Bild (sofern es da ist) ein oder zwei Wörter stehen würden..Könnte ich diese auch (relativ einfach) auslesen?
    Ich meine, da steht in etwa so etwas:

    Quellcode

    1. <img src="old.gif">Name: ABC DEF<br>
    2. <img src="new.gif">Name: DDD FFF<br>
    3. <img src="old.gif">Name: DDD EEE<br>


    Also aufspüren klappt. Jetzt soll mir das Programm nur noch ausspucken, was direkt dahinter steht, also Ausgabe soll sein: "DDD FFF"....

    mfg
    Yoda2003

    edit: ich formuliere es vllt. noch mal verständlicher...
    irgendwo im quelltext steht evtl folgendes:

    Quellcode

    1. 11 Aug 08 <IMG SRC="../images/new3.gif" alt="new!" title="new!">
    2. </td>
    3. <td valign="top" align="left">
    4. <a href="../...uninteressant...?guid=f48b981b-a11f-4a4d-b482-c8b21143d542">Kleine Abenteuer</a>

    Mit Hilfe des oben geposteten Scripts kann ich schon mal herausfinden, ob es eine "new3.gif" gibt. Das funzt auch 1a...Jetzt möchte ich mir den Namen noch ausgeben lassen, in diesem Fall "Kleine Abenteuer"....
    Wie geht das?
  • Hi,

    da würde ich doch reguläre Ausdrücke empfehlen. Das kann man allerdings nicht so einfach pauschalisieren, ich könnte dir zwar eine für das genannte Bespiel mache, aber der würde dann wohl nicht auf den Rest zutreffen, da hilft nur schreiben und probieren.

    -bronco
  • ich würde es so machen:

    PHP-Quellcode

    1. $url='http://...';
    2. $seite=implode("\n",file($url)); // den gewünschten quelltext in $seite laden
    3. $suchen='<img src="new.gif">';
    4. $pos=strpos($seite,$suchen); // position des zu suchenden begriffs in $pos speichern
    5. $pos=$pos+strlen($suchen); // position + länge des suchbegriffs -> anfang des linktitels
    6. $seite=substr($seite,$pos); // vorhergehenden quelltext abschneiden, um gleich nicht das falsche '</a>' von vorherigen links zu finden
    7. $suchen='</a>';
    8. $pos=strpos($seite,$suchen); // s.o.
    9. $seite=substr($seite,1,$pos); // linktitel vor "</a>" abschneiden
    10. echo $seite;
    Alles anzeigen


    so, das müsste es soweit sein. wenn du die funktionsweise verstehen willst, kann ich dir PHP: Hypertext Preprocessor empfehlen. (einfach nach z.b. substr suchen und die funktion wird erklärt)
    ich vermute, dass du an manchen stellen noch was ändern musst besonders bei den $pos-dingern eins dazuaddieren oder abziehen (da weiß ich nie genau, wie das nun ist und ich muss da immer rumprobieren), das siehst du aber, wenn die ausgabe nicht dem titel ('Kleine Abenteuer') entspricht. du sollst ja auch noch was zu tun haben:löl:

    mfg solitary man
  • Ihr seid echt klasse !!!
    Es funzt alles so, wie ich es haben wollte :)

    Jetzt noch n bissl Mysql gedöse und fertig isses...
    THX!!!

    @mods: könnt closen

    mfg
    Yoda2003

    ps. ich musst von $pos noch 1 abziehen, dann war die ausgabe richtig ;)