Papellucho: Div Container von verschiedenen Webseiten laden

Beitrag lesen

Hallo,

Wenn du nicht serverseitig darauf zugreifen kannst, weil der Inhalt clientseitig generiert wird, und auch nicht clientseitig darauf zugreifen kannst, weil es die Same-Origin-Policy gibt – dann gibt es keine einfache Lösung.

Letztlich werden alle Daten vom Server geladen, selbst wenn sie erst mit JavaScript zum angezeigten HTML zusammengebaut werden. Du kannst also serverseitig die Daten abgreifen. Fragt sich nur, wie aufwändig das ist. Dazu müssten wir die fragliche Seite sehen und untersuchen, woher die Rohdaten kommen und ob du sie per PHP abgreifen und umwandeln kannst.

Es ist auch möglich, serverseitig einen Browser zu starten, eine Seite rendern zu lassen und Daten per JavaScript zu extrahieren, z.B. mit http://phantomjs.org/. Das ist aber sehr aufwändig und langsam und erfordert einen leistungsfähigen Server am besten mit Shell- und Root-Zugriff, um die nötigen Pakete zu installieren.

Clientseitig gibt es nur eine Möglichkeit, die Same-Origin-Policy zu umgehen: Der fremde Server erlaubt per CORS, dass du per XMLHttpRequest Daten laden darfst. Du kannst natürlich fragen, ob der Betreiber entsprechende Header setzt, aber das tut er wahrscheinlich nicht.

Falls du nur lernen willst, würde ich dir vorschlagen, dir eine andere Aufgabe zu suchen. RSS- und Atom-Feeds kannst du z.B. sehr einfach serverseitig aggregieren. Dafür ist Syndication-Formate ausdrücklich gedacht.

Mathias

Hallo Mathias,

Erstmal Danke, für deine Ausführliche Beschreibung und Möglichkeiten. :)
Wenn es so schwer wird, such ich mir eine Andere Aufgabe..

Hatte grade auch überlegt, ob man nicht die Gewünschte Seite, per iFrame laden kann,
und danach über Javascript und/oder JQuery alle unerwünschten Inhalte ausblenden könnte..

Ich weiß nicht, wie hoch die Schwierigkeit dabei wäre..

Gruß