Ankündigung

Einklappen
Keine Ankündigung bisher.

Schnittstelle um Daten aus einer Hompage auszulesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Schnittstelle um Daten aus einer Hompage auszulesen

    Erstmal ein freudiges Hallöchen an alle.

    Ich würde gerne wissen wie ich eine Abfrage gestallten kann, mit der ich Daten aus einer Homepage auslesen kann.

    Hintergrund. Ich möchte einen Sig Creator basteln und die Daten in der Sig soll aus der Rangliste der Webside geholt werden.

    Kann mir einer sagen wie ich anfangen muss ?

    Danke schonmal im Vorraus

  • #2
    Die Frage hatten wir doch eben: Quellcode einer Website auslesen

    Kommentar


    • #3
      Ach Lazydog, dafür muss man doch lesen können.

      Kommentar


      • #4
        ich möchte ja nicht den kompletten quellcode sondern nur bestimmte daten.

        Aber mit (wie fgets(), fgetss(), fwrite(), fclose() und feof()) ist das zu verwirklichen ?

        @Jego
        Hauptsache du kannst es.

        Kommentar


        • #5
          Zitat von ruth Beitrag anzeigen
          Aber mit (wie fgets(), fgetss(), fwrite(), fclose() und feof()) ist das zu verwirklichen ?
          Grundsätzlich ja, wobei du nicht alle brauchst oder auch mit [man]file_get_contents[/man](). Ausserdem brauchst du halt noch Reguläre Ausdrücke oder Ähnliches. Genaueres könne wir natürlich auch nicht sagen, da wir die Dateistruktur ja nicht kennen.

          Kommentar


          • #6
            Zitat von ruth Beitrag anzeigen
            ich möchte ja nicht den kompletten quellcode sondern nur bestimmte daten.

            Aber mit (wie fgets(), fgetss(), fwrite(), fclose() und feof()) ist das zu verwirklichen ?

            @Jego
            Hauptsache du kannst es.
            Hättest du den Inhalt der Seiten der angegebenen Links auch mal gelesen, hättest du die Antwort dort gefunden.

            Kommentar


            • #7
              ich möchte ja nicht den kompletten quellcode sondern nur bestimmte daten.
              Naja, das Script, das nur genau das liefert was Du benötigst, wird wohl noch nicht existieren.

              Kommentar


              • #8
                hallo ruth,

                eigentlich geht das relativ einfach, du musst dich nur an bestimmten code-schnippseln entlanghangeln...
                so könnte der code aussehen (mit pregs solltest du dich ein bisschen auseinandersetzen )

                PHP-Code:
                $datei=fopen("http://die.gewünschte.webseite/","r");
                while(!
                feof($datei))
                {
                    
                $zeile=fgets($datei100000);
                    
                $buffer=$buffer.$zeile."\n";
                }

                $deine.variable=preg_split("/\<a href\=\"\zum.beispiel.irgendein.link\"\>xyz\<\/a\>/"$buffer);
                $neue.var=preg_split("/\<hr\/\>/"$deine.variable[1]);
                //$deine.variable[1] bezeichnet dann den teil vor dem split
                $neue.var[0]=preg_replace("/\<p\>\<p\>\<small\>\<i\>/","",$neue.var[0]);
                //damit löschst du im gewählten teil einen teil des codes 
                hoffentlich hilft dir das.
                gruß,
                bananajoe

                Kommentar


                • #9
                  @bananajoe
                  Warum denn das Rad immer wieder neu erfinden? file_get_contents() ersetzt deine sechs ersten Zeilen. Und wenn schon, dann
                  PHP-Code:
                  $buffer .= $zeile "\n"

                  Kommentar


                  • #10
                    HuHu
                    erstmal danke. Habe jetzt rumgetestet und hier im Board rumgeschnüffelt.
                    Irgendwie bin ich an folgendes gekommen :

                    PHP-Code:
                    $url "http://metin2.de/main/highscore";

                    $startstring "<td class=\"rank-td-2-2\">";

                    $endstring "<"

                    $file = @fopen ($url,"r");

                    if (
                    trim($file) == "") {
                        echo 
                    "Service out of order";
                        } else {
                        
                    $i=0;
                        while (!
                    feof($file)) {

                            
                    $zeile[$i] = fgets($file,2000);
                            
                    $i++;
                        }
                        
                    fclose($file);
                    }

                    for (
                    $j=0;$j<$i;$j++) {
                        if (
                    $resa strstr($zeile[$j],$startstring)) {
                            
                    $resb str_replace($startstring""$resa);
                            
                    $endstueck strstr($resb$endstring);
                            
                    $resultat .= str_replace($endstueck,"",$resb);
                            
                    $resultat .= "; ";
                        }
                    }


                    $resultat "Testausgabe ".$resultat." aus der Rangliste";
                    return 
                    $resultat
                    Ich bekomme aber immer nur Service out of order. Hat das was mit der Linkstruktur zu tun? Weil ja Ajax genutzt wird ?

                    Kommentar


                    • #11
                      Und was gibt dir echo $file aus, bzw. was gibt [man]fopen[/man]() zuück? Warum unterdrückst du eventuelle Fehlermeldungen (@)? Ausserdem, wenn du die Daten zeilenweise haben willst, warum benutzst du nicht [man]file[/man]()?

                      Kommentar


                      • #12
                        jo lazydog,
                        da hast du wohl recht

                        @ruth...an ajax sollte das eigentlich nicht liegen, weil ja einfach der im browser sichtbare quellcode als grundlage genommen wird...

                        Kommentar


                        • #13
                          Also fopen gibt "Service out of order" zurück. Kann also die Seite nicht einlesen.
                          Warum nicht file ? Wollte das es erstmal grundlegend funktioniert.

                          Kommentar


                          • #14
                            Zitat von ruth Beitrag anzeigen
                            Also fopen gibt "Service out of order" zurück. Kann also die Seite nicht einlesen.
                            fopen gibt garantiert nicht "Service out of order" zurück. Das was zurückgegeben wird, siehst du, wenn du echo $file; eingibst
                            Zitat von ruth Beitrag anzeigen
                            Warum nicht file ? Wollte das es erstmal grundlegend funktioniert.
                            Warum auch einfach, wenn es auch kompliziert geht?

                            Kommentar


                            • #15
                              habe jetzt

                              PHP-Code:
                              $file = @fopen ($url,"r");
                              echo 
                              $file


                              EDIT: Nun läd sich die seite tot. http://mwzportal.mw.funpic.de/phptests/1.php

                              Kommentar

                              Lädt...
                              X