Daten aus Seite auslesen und auf eigener Seite darstellen

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

  • Daten aus Seite auslesen und auf eigener Seite darstellen

    Hallo Forum,

    ein Neuling brauch mal wieder Hilfe.

    Also Ich hätte gerne ein Skript, das von einer Seite Daten ausliest, die normalerweise mit Html an einen normalen User ausgegeben werden. Und diese dann auf der eigenen Seite anzeigt.


    Also das Grundproblem, was ich nicht weiß, ist wie Ich die Daten bzw den Text auslesen kann,oder ob das überhaupt geht.

    Wäre echt gut, wenn jemand eine Funktion kennt.

    Danke im Vorraus.

  • #2
    Es gibt mehrere Möglichkieten, was hast du denn schon versucht? Außerdem hast du die Genehmigung, den Inhalt der Seite in deine Seite zu verwenden?

    Kommentar


    • #3
      Mir ist vorhin kein guter Suchbegriff eingefallen, habe nun aber doch schon was.

      PHP: Fremde Webseiten parsen/auslesen - Artikel von www.it-academy.cc - Verein für Informationstechnologie

      Denke Ich müsste das nun hin kriegenn, danke für deinen Post trotzdem.

      Die Genehmigung habe Ich.

      Kommentar


      • #4
        Hallo,
        ich belebe mal diesen Thread. Bin über Google auf diesen Thread gestoßen und brauche Hilfe beim parsen folgendes chemas.
        Ich habe eine seite, die News nach folgendem chema in einer Tabelle annzeigt. diese möchte ich gerne parsen und RSS Feed konform machen. Wie das XML Chema des RSS Feeds ausschaut kenne ich. Mein Problem ist jedoch das parsen des folgenden Beispiels.
        Die Tabelle hat 50 Zeilen und mein Problem ist, das Parsen der Beiträge vom vorherigen Tag. Ich bekomme es irgend wie in meiner schleife nicht hin, dass es richtig im array landet.

        HTML-Code:
         <table>
        <tr><td colspan="99" class="date-header">22/05/2017</td></tr>
        <tr>
        <td>16:40</td>
        <td>subject</td>
        <td><b><a href="https://...">text1</a></b></td>
        </tr>
        <tr>
        <td>15:13</td>
        <td>subject</td>
        <td><b><a href="https://...">anderer text</a></b></td>
        </tr>
        ....
        <tr><td colspan="99" class="date-header">21/05/2017</td></tr>
        <tr>
        <td>22:21</td>
        <td>subject</td>
        <td><b><a href="https://...">letzter text vom letzten tag></a></b></td>
        </tr>
        <tr>
        <td>15:13</td>
        <td>subject</td>
        <td><b><a href="https://...">anderer text</a></b></td>
        </tr>
        ...
        </table>
        Der aktuelle Code von mir mit der Nutzung der Klasse simple htmldom v1.5
        PHP-Code:
         $zahl 1;
         for(
        $i=0;$i<=count($html->find('td'))/3;$i++) {
         foreach(
        $html->find('table') as $article) {
          
         if(
        preg_match("/^\d\d\/\d\d\/\d\d\d\d$/"$article->find('td'$i)->plaintext)){
         
        $item['datum'] = $article->find('td'$i)->plaintext;
         }

         if(
        preg_match("/^\d\d\/\d\d\/\d\d\d\d$/"$article->find('td'$zahl)->plaintext)) {
         
        $item['datum'] = $article->find('td'$zahl)->plaintext;
         } else {
         
        $item['uhrzeit'] = $article->find('td'$zahl)->plaintext;
         }

         
        $zahl++;

         if(
        preg_match("/^\d\d\/\d\d\/\d\d\d\d$/"$article->find('td'$zahl)->plaintext)) {
         
        $item['datum'] = $article->find('td'$zahl)->plaintext;
         } else {
         
        $item['beschreibung'] = $article->find('td'$zahl)->plaintext;
         }
         
        $zahl++;

         if(
        preg_match("/^\d\d\/\d\d\/\d\d\d\d$/"$article->find('td'$zahl)->plaintext)) {
         
        $item['datum'] = $article->find('td'$zahl)->plaintext;
         } else {
         
        $item['linkname'] = $article->find('td'$zahl)->plaintext;
         }

         
        /*
         if(preg_match("/^\d\d\/\d\d\/\d\d\d\d$/", $article->find('td', $i)->plaintext)) {
         $item['datum'] = $article->find('td', $i)->plaintext;
         } else {
         */
         //$item['link'] = $article->find('a', $i)->href;
         //}

          
         
        $text[] = $item;
         }
         
        $zahl++;
         } 
        Über Hilfe und eine Antwort freue ich mich sehr und bedanke mich schon einmal im Voraus.

        LG
        Zuletzt geändert von vbprofi; 23.05.2017, 00:19.

        Kommentar


        • #5
          Zitat von vbprofi Beitrag anzeigen
          ich belebe mal diesen Thread.
          Und warum? Dieser Thread ist 8 Jahre alt!!

          Kommentar


          • #6
            Zitat von bandit600 Beitrag anzeigen
            Und warum? Dieser Thread ist 8 Jahre alt!!
            um einfach kein neuen thread zu eröffnen, wo es doch um das selbe Thema geht. sonst wäre es speicherplatzverschwendung in der Datenbank. Deine Frage erzielt leider auch in diesem Zusammenhang keine Lösung.

            Kommentar


            • #7
              Quick and dirty:

              PHP-Code:
              $string '
              <table>
              <tr><td colspan="99" class="date-header">22/05/2017</td></tr>
              <tr>
              <td>16:40</td>
              <td>subject</td>
              <td><b><a href="https://...">text1</a></b></td>
              </tr>
              <tr>
              <td>15:13</td>
              <td>subject</td>
              <td><b><a href="https://...">anderer text</a></b></td>
              </tr>
              <tr><td colspan="99" class="date-header">21/05/2017</td></tr>
              <tr>
              <td>22:21</td>
              <td>subject</td>
              <td><b><a href="https://...">letzter text vom letzten tag></a></b></td>
              </tr>
              <tr>
              <td>15:13</td>
              <td>subject</td>
              <td><b><a href="https://...">anderer text</a></b></td>
              </tr>
              </table>
              '
              ;

              // Link vor strip_tags schützen
              $bla str_replace('<a href=''ahref='$string);
              // HTML entfernen
              $bla strip_tags($bla);
              // Link wieder lesbar machen und restliche HTML elemente entfernen
              $bla str_replace('ahref="'""$bla);
              $bla str_replace('">'"\n"$bla);
              // leere Elemente aus array löschen.
              $piece array_filter(explode("\n"$bla));

              echo 
              '<pre>';
              print_r($piece);
              echo 
              '</pre>'
              Ergebnis:
              Code:
              Array
              (
                  [2] => 22/05/2017
                  [4] => 16:40
                  [5] => subject
                  [6] => https://...
                  [7] => text1
                  [10] => 15:13
                  [11] => subject
                  [12] => https://...
                  [13] => anderer text
                  [15] => 21/05/2017
                  [17] => 22:21
                  [18] => subject
                  [19] => https://...
                  [20] => letzter text vom letzten tag>
                  [23] => 15:13
                  [24] => subject
                  [25] => https://...
                  [26] => anderer text
              )
              Zuletzt geändert von SysOp; 24.05.2017, 10:28.

              Kommentar

              Lädt...
              X