Ergebnis 1 bis 9 von 9

Thema: Daten von einer Internetseite auslesen.

  1. #1
    OJMD
    Gast

    Standard Daten von einer Internetseite auslesen.

    Hallo zusammen,

    mich interessiert gerade die Möglichkeit, Bestimmte Daten einer Internetseite auszulesen und diese in meiner Internetseite anzuzeigen.

    Beispiel:

    Ich spiele ein Online-Game, dieses Spiel besitzt eine Internetseite wo ich meine Statistik nachlesen kann. (zB. wie gut ich spiele)
    Ich habe eine eigene Hompage und Möchte gerne auf dieser zB. meine Punkte von dieser Webseite anzeigen lassen.

    Meine Frage nun, welche möglichkeiten gib es um dies zu realisieren.

    Vielen Dank im Vorraus Oliver
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Meister(in)
    Registriert seit
    22.02.2006
    Ort
    Franken
    Beiträge
    336
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    kann man mit php fopen() dateien auf anderen servern öffnen?
    ann wärs nämlich nicht schwiereig.... fopen() fgets() explode() und dann fputs() dann haste die statistik in ner textdatei...




  3. #3
    Prinz(essin)
    Registriert seit
    10.07.2005
    Beiträge
    914
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja funktioniert ist allerdings nicht erwünscht sage ich mal ... also auf jedenfall vorher den admin von dem spiel fragen ob du das auslesen darfst...

  4. #4
    Gast OJMD
    Gast

    Standard

    Den Admin kenn ich, ich glaube das ist kein Problem.

    Durch stöbern in Foren habe ich Codeschnipsel gefunden den html-Code der seite in ein string zuschreiben.

    Auf einer weiteren Seite habe ich sogar eine Ähnliche Frage gefunden, und er hat ein script bekommen welches:
    1. Die Seite in ein String schreibt.
    2. Den String durchsucht nach <td> .... </td> und dies in ein Arry schreibt
    3. Eine Tabelle aufbaut und die mit den Werten des Array´s füllt.

    Also meine Werte die ich bräuchte sind dabei, nur brauche ich nicht 50 Werte sonder max. 10 und diese alle einzeln. Damit ich sie in eine Variable schreiben kann und dann vielleicht in meine Datenbank speichern kann.

    Hier der Code den ich gefunden habe:
    <?php
    /*################################################# #######
    # Dieses Script ist von BasicAvid(c) #
    # Samstag, 3.September 2005 #
    ################################################## ######
    */
    $convert = array(); // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "????Zielseite ???"; // Von welcher URL
    $string = "Klasse(n)"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    $arr = file($url); // Datei wird eingelesen


    for($i=0;$i<count($arr);$i++)
    {
    $arr[$i] = strip_tags($arr[$i]); // Tags entfernen
    if(!empty($arr[$i])&& trim($arr[$i]) ) // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
    {
    array_push($convert,trim($arr[$i])); // an das Hilfsarray anfügen

    if(trim($arr[$i]) == "") // ist das aktuelle Element gleich HIER FEHLER ""
    array_push($convert,""); // füge noch ein Element an das Hilfsarray an
    }


    }

    for($i=0;$i<count($convert);$i++) // Schleife um den Startpunkt zu ermitteln
    {
    if(!strnatcmp($string,$convert[$i]))
    $start = $i;

    }

    /*
    Hier beginnt das eigentliche darstellen der Daten,
    muss dementsprechend angepasst werden!

    */

    echo "<table border='1' align='center'>\n";

    for($i=$start,$m=0;$i<count($convert)-8;$i++,$m++) // bei count($convert)-8 werden die letzten unnötigen Daten entfernt
    {



    if($m==0) // Anfang einer Zeile
    echo "<tr align='center'>\n";

    if(!strnatcmp("statt",$convert[$i+$j]))
    {
    echo "<td>".$convert[$i+$j]."
    ".$convert[$i+$j+1]."</td>\n";
    $j++;
    }
    else
    echo "<td>".$convert[$i+$j]."</td>\n";


    if($m == $cols) // Ende einer Zeile
    {
    echo "</tr>\n";
    $cols = 2; // Spaltenanzahl auf 12 setzen
    $m=0; // variable zurücksetzen für die nächste Zeile
    }

    }
    echo "</table>\n";

    ?>

  5. #5
    Prinz(essin)
    Registriert seit
    10.07.2005
    Beiträge
    914
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also das du nur 10 brauchst habe ich geändert....
    aber vielleicht gibst du uns mal die url die du auslesen möchtest dann können wir das besser nachvollziehen.
    Code:
    <?php
    /*########################################################
    # Dieses Script ist von BasicAvid&#40;c&#41; #
    # Samstag, 3.September 2005 #
    ########################################################
    */
    $convert = array&#40;&#41;; // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "????Zielseite ???"; // Von welcher URL
    $string = "Klasse&#40;n&#41;"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    $arr = file&#40;$url&#41;; // Datei wird eingelesen
    
    
    for&#40;$i=0;$i<11;$i++&#41;
    &#123;
    $arr&#91;$i&#93; = strip_tags&#40;$arr&#91;$i&#93;&#41;; // Tags entfernen
    if&#40;!empty&#40;$arr&#91;$i&#93;&#41;&& trim&#40;$arr&#91;$i&#93;&#41; &#41; // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
    &#123;
    array_push&#40;$convert,trim&#40;$arr&#91;$i&#93;&#41;&#41;; // an das Hilfsarray anfügen
    
    if&#40;trim&#40;$arr&#91;$i&#93;&#41; == ""&#41; // ist das aktuelle Element gleich HIER FEHLER ""
    array_push&#40;$convert,""&#41;; // füge noch ein Element an das Hilfsarray an
    &#125;
    
    
    &#125;
    
    for&#40;$i=0;$i<count&#40;$convert&#41;;$i++&#41; // Schleife um den Startpunkt zu ermitteln
    &#123;
    if&#40;!strnatcmp&#40;$string,$convert&#91;$i&#93;&#41;&#41;
    $start = $i;
    
    &#125;
    
    /*
    Hier beginnt das eigentliche darstellen der Daten,
    muss dementsprechend angepasst werden!
    
    */
    
    echo "<table border='1' align='center'>\n";
    
    for&#40;$i=$start,$m=0;$i<count&#40;$convert&#41;-8;$i++,$m++&#41; // bei count&#40;$convert&#41;-8 werden die letzten unnötigen Daten entfernt
    &#123;
    
    
    
    if&#40;$m==0&#41; // Anfang einer Zeile
    echo "<tr align='center'>\n";
    
    if&#40;!strnatcmp&#40;"statt",$convert&#91;$i+$j&#93;&#41;&#41;
    &#123;
    echo "<td>".$convert&#91;$i+$j&#93;."
    ".$convert&#91;$i+$j+1&#93;."</td>\n";
    $j++;
    &#125;
    else
    echo "<td>".$convert&#91;$i+$j&#93;."</td>\n";
    
    
    if&#40;$m == $cols&#41; // Ende einer Zeile
    &#123;
    echo "</tr>\n";
    $cols = 2; // Spaltenanzahl auf 12 setzen
    $m=0; // variable zurücksetzen für die nächste Zeile
    &#125;
    
    &#125;
    echo "</table>\n";
    
    ?>

  6. #6
    Gast OJMD
    Gast

    Standard

    Vielen Dank erstmal für dein Interesse,

    die Seite möchte ich nicht wirklich hier posten, bitte um Verständnis.

    Zu Meinem Problem, das Array auf 10 zubegrenzen bringt es nicht. Mein erster Ansatz ist jetzt das Array Position für Position auszulesen bis ich weis welche Position im Array den Wert enthälte den ich möchte und den dan direkt über Array[xx] in eine Variable zu schreiben und das ca. 10 mal.
    da ich noch nicht weis anwelcher stelle die werte stehen die ich gerne hätte.

    Eine Ähnliche Seite mit statistiken wäre hier:
    http://www.spielerstats.de/ wenn ihr euch eine Statistik von einen Spieler anschaut.

    Mit freundlich Gruß Oliver

  7. #7
    Gast OJMD
    Gast

    Standard

    Einfrage aber noch vorweg, Cooki Du hast gefragt das ich mit dem Admin sprechen sollte, warum?

    Kann ich Schaden auf seiner Seite mit dem Script anrichten?

    Bitte um Antwort!!!

  8. #8
    Prinz(essin)
    Registriert seit
    10.07.2005
    Beiträge
    914
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    also schaden kannst du damit nicht anrichten nein aber die meisten seiten wollen es trozdem nicht das man den inhalt aussliest...

  9. #9
    Gast OJMD
    Gast

    Standard

    Ah, Danke cookie. Ich habe aber trotzdem den Admin informiert.

    So ich bin schon fast an mein Ziel, könntes Du mir noch vielleicht eine Möglich keit nennen wie ich folgenden Code umstricken kann, das ich mehre Seiten also von mehreren Spielern Auslesen kann.

    <?php


    $convert = array(); // ein Hilfsarray
    $start = 0; // wird später benötigt
    $cols = 11; // wieviel Spalten werden benötigt
    $url = "Zensiert"; // Von welcher URL
    $string = "Klasse(n)"; // Wird benötigt um den Anfang festzustellen
    $string2 = "Vertretungs-Text"; // Um das Ende festzustellen
    $arr = file($url); // Datei wird eingelesen

    for($i=0;$i<count($arr);$i++)
    {
    $arr[$i] = strip_tags($arr[$i]); // Tags entfernen

    if(!empty($arr[$i])&& trim($arr[$i]) ) // Prüfen ob nicht Leer und entferne Vor-Nachleerzeichen
    {
    array_push($convert,trim($arr[$i])); // an das Hilfsarray anfügen
    if(trim($arr[$i]) == "") // ist das aktuelle Element gleich HIER FEHLER ""

    array_push($convert,""); // füge noch ein Element an das Hilfsarray an
    }}

    for($i=0;$i<count($convert);$i++) // Schleife um den Startpunkt zu ermitteln
    {
    if(!strnatcmp($string,$convert[$i]))
    $start = $i;
    }

    for($i=$start,$m=0;$i<count($convert)-8;$i++,$m++) // bei count($convert)-8 werden die letzten unnötigen Daten entfernt
    {
    }
    $playername = $convert[2];
    $playerid = $convert[28];
    $lastconnect = $convert[32];
    $totaltime = $convert[34];
    $rank = $convert[40];
    $points = $convert[42];
    $activity = $convert[44];
    $kills = $convert[46];
    $deaths = $convert[48];
    $suicides = $convert[50];
    $killsperdeath = $convert[52];
    $weaponaccuracy = $convert[60];
    ?>


    <html>
    <head>
    </head>
    <body>
    <table border="1" width="100%">
    <tr>
    <td align="center">

    <table border="1" width="600">
    <tr>
    <td rowspan="12" width="200" align="center" valign="middle">Member Foto</td>
    <td width="10"><td>
    <td width="150">Name:</td>
    <td width="200"><?=$playername?></td>
    </tr>
    <tr>
    <td width="10"><td>
    <td width="150">Player ID:</td>
    <td width="200"><?=$playerid?></td>
    </tr>
    <tr>
    <td width="10"><td>
    <td width="150">Rank:</td>
    <td width="200"><?= $rank ?></td>
    </tr>
    <tr>
    <td width="10"><td>
    <td width="150">Points:</td>
    <td width="200"><?= $points ?></td>
    </tr>
    <tr>
    <td width="10"><td>
    <td width="150">Activity:</td>
    <td width="200"><?= $activity ?></td>
    </tr>
    <tr>
    <td width="10"><td>
    <td width="150">Kills:</td>
    <td width="200"><?= $kills ?></td>
    </tr>
    ...

    Wenn ich das jetzt für 2 oder mehr Spieler machen wollte wird das sehr unübersichtlich. Wie müsste ich eine Schleife anfangen das ich belibig viele URL angeben könnte, ... und er mir unten Tabelle für Tabelle so aufbauen würd?

    Vielen Dank erstmal bis hier her.
    Gruß Oliver

Ähnliche Themen

  1. Daten auslesen
    Von goodn8 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 31.10.2007, 10:33
  2. Zeilenweise daten aus einer MySQL Datenbank auslesen
    Von rgofi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 14.03.2007, 16:13
  3. Daten aus nur einer Spalte einer Tabelle in Array speichern
    Von FaFoo im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 25.07.2006, 16:32
  4. Hintergrund einer Internetseite
    Von Michael_A im Forum HTML & CSS Forum
    Antworten: 29
    Letzter Beitrag: 31.05.2006, 09:42
  5. Anfänger | Daten aus einer Datenbank auslesen
    Von Knüps im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 14.12.2005, 10:12

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •