TS: Einen Datengrabber schreiben, wie geht es weiter?

Beitrag lesen

Hallo und guten Morgen,

Deine Funktion riecht ganz stark danach, für jeden der Teaser einen eigenen Funktionsaufruf durchzuführen und damit für jeden Teaser das Dokument erneut zu parsen.

Das geht hier wohl tatsächlich nicht viel anders. Sieht man auch in meinem Lösungsvorschlag in
http://forum.selfhtml.org/self/2015/jun/11/htmlentities-bereinigen/1643075#m1643075

Dort hole ich erst mit der Funktion get_links($node) die Linkliste und schreibe sie in ein Array

$_links[$index]['href']
$_linkls[$index]['linktext']

Da die Anzahl der Links in dem Bereich immer variiert (zwischen vier und sieben habe ich bishe gesehen) und die dazugehörigen Seiten mit den Teasern leider auch öfter mal eine geringfügig andere HTML-Auszeichnung haben, muss man das Grabben hier möglichst flexibel halten.

Anschließend werden mit Hilfe der Linkliste die Einzelseiten nochmal aufgerufen (einen Request könnte man da noch einsparen) und die Überschriften und der Teasertext ausgelesen und ebenfalls in das Array eingetragen.

Wenn man das Array dann zusammengesammelt hat, kann es an die Ausgabe weitergereicht werden

Für die Touch-Display-Version würde ich übrigens einen kleinen Extralink am Teaserlink anbringen, mit dem man die Teaserbox öffnen kann und in dieser dann ein Schließkreuz unterbringen und einen Link auf die Originalseite. Wahrscheinlich würde der auch bei der Desktopversion gar nicht stören. Übrigens hat Jeena P. mit seiner Bildergalerie http://forum.selfhtml.org/self/2015/jun/15/viele-thumbnails-schneller-laden-und-darstellen/1643106#m1643106
ein ähnliches Problem.

In meinem Demoscript habe ich zusätzlich für Debuggingzwecke noch die XPathes der im betroffenen Container vorhandenen Elemente gesammelt, weil man mit deren Hilfe die temporären Änderungen am Markup am besten erkennen kann. Das kann man für die operative Version natürlich wieder rausschmeißen oder eben einfach nicht benutzen.

Glupto, lade dir das Script doch einfach mal auf deinen Testserver. Es müsste eigentlich sofort funktionieren, wenn der ins Internet darf.

Generell würden mich hier jetzt noch noch drei Dinge interessieren:

  • Die Fehlertoleranz für die Grabberlösung erhöhen
  • Wann und wie sollte man auf Fehler im laufenden Betrieb reagieren und wie erkennt man die?
  • Wie kann man mittels JavaScript in einer gegebenen (fremden) Webseite einen Bereich markieren und das Markup und die Nodes im DOM identifizieren? Das Ergebnis soll dann für das eigene Backend zur Verfügung stehen...

Grüße
TS

0 139

htmlentities "bereinigen"

glupto
  • php
  1. 0
    dedlfix
  2. 1
    TS
    1. 0
      glupto
      1. 0
        Auge
        1. 0

          Korrektur meines vorherigen Postings

          Auge
          1. 0
            glutpo
            1. 1
              Der Martin
              1. 0
                glutpo
                1. 0
                  Der Martin
                  1. 0
                    glutpo
                    1. 0
                      Der Martin
                      1. 0
                        glutpo
                        1. 0
                          Der Martin
                        2. 0

                          meta-charset - Angabe war nicht innerhalb der ersten 1024 Bytes

                          TS
                          1. 0
                            dedlfix
                            1. 0

                              Fakten, Fakten, Fakten

                              TS
                              • meinung
                              • php
                  2. 0
                    Gunnar Bittersmann
            2. 0
              Auge
              • html
              • php
              1. 0
                glutpo
                1. 0
                  Camping_RIDER
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Camping_RIDER
                    2. 0

                      Meta-Angabe im File unerheblich?

                      TS
                    3. 0

                      Offenheit für Fehlerquellen

                      Camping_RIDER
                      • html
                      • menschelei
                      • php
                  2. 0
                    glutpo
                    1. 0
                      Matthias Apsel
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Tabellenkalk
                      2. 0
                        Tabellenkalk
                2. 1
                  Auge
                  1. 0
                    dedlfix
                    1. 0

                      Aha, dann weiter im Text.

                      Auge
                      1. 0
                        Gunnar Bittersmann
                        • html
                        • sprache
                        1. 0
                          Auge
                        2. 0
                          Gunnar Bittersmann
                      2. 0
                        dedlfix
                        1. 0

                          Danke erstmal an alle,...

                          glupto
                          1. 0
                            dedlfix
                    2. 0
                      TS
                  2. 0
                    glupto
                    1. 0
                      dedlfix
                    2. 0
                      woodfighter
                      1. 0

                        dein Impressum

                        woodfighter
                        • recht
                        1. 0
                          glupto
                          1. 0
                            Der Martin
                      2. 0
                        glupto
                        1. 2
                          dedlfix
                          1. 0
                            glupto
                            1. 0
                              Camping_RIDER
                              1. 0
                                dedlfix
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  glupto
                                  1. 0
                                    Auge
                                    1. 0
                                      glupto
                                      1. 0
                                        Auge
                                    2. 0
                                      glupto
                                      1. 0
                                        Auge
                                        1. 0
                                          glupto
                                          1. 0
                                            Auge
                                            1. 0
                                              glupto
                                              1. 0
                                                Auge
                                                • php
                                                1. 0
                                                  glupto
                                                  1. 0
                                                    TS
                                                    1. 0

                                                      DOMDocument: Fehlerhaftes Parsing und Dekodierung, [gelöst]

                                                      TS
                                                      1. 0
                                                        glupto
                                                        1. 0

                                                          DOMDocument: Fehlerhafte Dekodierung, Jetzt aber...

                                                          TS
                                                      2. 0
                                                        dedlfix
                                                    2. 0
                                                      glupto
                                                      1. 0

                                                        Bitte ändert doch den Betreff immer passend ab

                                                        TS
                                                        • meinung
                                                        • php
                                                        1. 0
                                                          dedlfix
                                                          1. 0

                                                            Ätsch, war trotzdem falsch. Aber nun gibts Workaround:

                                                            TS
                                                            • php
                                                            1. 0

                                                              Kurzfassung

                                                              TS
                                                              1. 0
                                                                TS
                                                                1. 1
                                                                  TS
                                                                  1. 0
                                                                    dedlfix
                                                                    1. 0
                                                                      TS
                                                            2. 0

                                                              Weiterführende Gedanken zur gefundenen Lösung

                                                              TS
                                                              1. 0
                                                                dedlfix
                                                                1. 0
                                                                  TS
                                                                  1. 0
                                                                    dedlfix
                                                                    1. 0
                                                                      TS
                                                                      1. 0
                                                                        dedlfix
                                                                        1. 0
                                                                          glupto
                                                                          1. 0
                                                                            TS-ohne
                                                                            1. 0
                                                                              glupto
                                                                              1. 0

                                                                                SR-Nachrichten Excerpt

                                                                                TS
                                                                                • html
                                                                                • php
                                                                                1. 0
                                                                                  glupto
                                                                                  1. 0
                                                                                    TS
                                                                                    1. 0
                                                                                      glupto
                                                                                      1. 0
                                                                                        TS
                                                                                        1. 0
                                                                                          glupto
                                                                                          1. 0
                                                                                            Gunnar Bittersmann
                                                                                            • design/layout
                                                                                            1. 0
                                                                                              glupto
                                                                                              1. 0

                                                                                                SR-Nachrichten Excerpt, Grabbellösung

                                                                                                TS
                                                                                                • html
                                                                                                • php
                                                                                                1. 0
                                                                                                  glupto
                                                                                                  1. 0

                                                                                                    SR-Nachrichten Excerpt, Grabbel- und Guck-Lösung

                                                                                                    TS
                                                                                                    1. 0
                                                                                                      glupto
                                                                                                2. 0
                                                                                                  glupto
                                                                                                  1. 0
                                                                                                    TS
                                                                                                    1. 0
                                                                                                      glupto
                                                                                                      1. 0
                                                                                                        Auge
                                                                                                        1. 0
                                                                                                          glupto
                                                                                                          1. 0

                                                                                                            Einen Datengrabber schreiben, wie geht es weiter?

                                                                                                            TS
                                                                                                            1. 0
                                                                                                              glupto
                                                                                                              1. 0
                                                                                                                TS
                                                                                                                1. 0
                                                                                                                  glupto
                                                                                                            2. 0
                                                                                                              glupto
                                                                                                          2. 0
                                                                                                            Auge
                                                                                                            • php
                                                                                                            1. 0
                                                                                                              glupto
                                                                                        2. 0

                                                                                          Völlig offtopic, Frage an TS

                                                                                          Jörg Reinholz
                                                                                          • offtopic
                                                                                          1. 0
                                                                                            Matthias Apsel
                                                                                            • zu diesem forum
                                                                                          2. 0
                                                                                            TS
                                                                                            1. 2
                                                                                              Jörg Reinholz
                                                                                        3. 0
                                                                                          Auge
                                                                                          • https
                                                                                          • php
                                                                                          1. 0
                                                                                            glupto
                                                                                            1. 0
                                                                                              Auge
                                                                                              1. 0
                                                                                                glupto
                                                                                                1. 0
                                                                                                  Auge
                                                                                                2. 0
                                                                                                  Jörg Reinholz
                                                                                                  • https
                                                                                                  • recht
                                                                                          2. 0
                                                                                            TS
                                                                                            1. 0
                                                                                              Auge
                                                                                          3. 0

                                                                                            header('Content-Type: text/html; charset=UTF-8');

                                                                                            TS
                                                                                            1. 0
                                                                                              Auge
                                                                                              • https
                                                                                            2. 0
                                                                                              woodfighter
                                                                                              1. 0
                                                                                                RS
                                                                                                1. 0
                                                                                                  woodfighter
                                              2. 0
                                                dedlfix
                                          2. 0
                                            dedlfix
                                      2. 0
                                        dedlfix
                              2. 0
                                Auge
                                1. 0
                                  Camping_RIDER
                              3. 0
                                glupto
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  Auge
                        2. 0

                          SR-Nachrichten als ISO interpretiert

                          TS
      2. 0
        TS
      3. 0
        Christian Kruse
        1. 0
          glupto