Kann man mit JavaScript den Text einer Website anzeigen lassen?
Hallo, ich würde mir gern Blog- und Zeitungsartikel speichern und mit JavaScript später anzeigen lassen.
Das heißt, ich würde gern erreichen, dass der Code dafür sorgt, dass ein beliebiger Link ausgelesen und der Inhalt der Seite des Links ausgespielt wird.
Ist das möglich und wenn ja mit welcher Funktion?
Vielen Dank im Voraus!
3 Antworten
Für dein Vorhaben reicht JavaScript allein nicht aus, da du 1. wohl den aktuellen IST-Zustand eines Beitrags archivieren möchtest und 2. - das Ganze wohl serverseitig gespeichert werden soll/muss. Neben JavaScript benötigst du beispielsweise NodeJS (HTTP Client, Fetch API, Axios etc.), eine passende REST API wie NewsAPI oder du schreibst dir ein eigenes Scraper-Script in Python oder ähnliches.
Wenn den aktuellen Zustand speichern möchtest, damit Inhalte nicht durch redaktionellen Änderungen verloren gehen, benötigst du auch irgendeine Datenbank, in der die ausgelesenen Beiträge bzw. der IST-Zustand gespeichert werden. Als Datenbank eignet sich z.B. PostgreSQL; MariaDB; MySQL; SQLite oder wenigstens ein JSON-File, in dem die Inhalte gespeichert und wieder ausgelesen werden.
Zu guter Letzt solltest du auch wissen, wie man mit den Developer-Tools arbeitet. Sei es z.B. das Einsehen/Auslesen von Strukturen und Elementen, damit dein Scrapter-Script am Ende auch die richtigen Inhalte erkennt, auswertet und weitergibt. Falls dir das zu aufwendig ist, kannst du dich auch auf GitHub nach entsprechenden Scripten umschauen. Diese schreibst du dann "nur" auf deine eigenen Bedürfnisse um.
- ScrapingBee - Web Scraping with JavaScript and NodeJS
- Real Python - Build a Web Scraper with Python
- GitHub: ietz - REST API for Der Spiegel
- NewsAPI - Search News and Blog Articles on the Web
LG medmonk
Vielen Dank, für die ausführliche Antwort! Da hab ich ja noch einiges, mit dem ich mich beschäftigen kann.
Das geht einfach mit einem iframe
Das geht aufgrund der Abwärtskompatibilität für alte Websites. In der heutigen Zeit sollte sowas vermieden werden. Es gibt heute viel bessere Lösungen. Man muss als Entwickler mit der Zeit gehen und nicht stehen bleiben. Wer sich weigert, was Neues zu lernen, der ist verloren. Besonders in der Berufswelt.
Und selbst bei einer alten Website würde ich dem nicht zustimmen :D
Klar, eine alte Website ständig dem neusten Trend hinterher tragen, geht schief.
Aber wenn man daran arbeitet, sollte man auch nach aktuell etablierten Konzepten modernisieren, was man vertreten kann. Und der Rest (z.B. größere Dependency-Updates) muss dann eben regulär eingeplant werden.
Tut man das nicht, fällt das früher oder später immer auf die Füße und tut weit mehr weh, als alles, wovor man sich zuvor gedrückt hat. Je länger man wartet, desto aufwändiger (oder unmöglicher) wird so eine Aktualisierung, bis die ganze Website nicht mehr tragbar ist.
Stimmt schon. Viele Unternehmen wollen dies aber nicht und nutzen:
Never change an running system.
als Ausrede, um Geld zu sparen. Im Nachhinein merkt man dann immer, was man für Mist gebaut hat, aber dann ist zu spät
iFrames sind alt
Ja, das iframe-Element ist alt in dem Sinne, dass es das schon seit HTML 4.01 gibt.
Sollte man vermeiden.
Ganz und gar nicht. Das iframe-Element ist gültiges HTML5 und damit keinesfalls veraltet. Nicht mehr Bestandteil von HTML 5 ist das frameset-Element
Starte ein Ajax GET request und Werte davon den Inhalt aus
iFrames sind alt. Sollte man vermeiden. Es gibt in vielen Fällen bessere Möglichkeiten