ubuntuusers.de

Inhalte eines kleinen Forums exportieren, zum Nur-Lesen anderswo?

Status: Ungelöst | Ubuntu-Version: Lubuntu 18.04 (Bionic Beaver)
Antworten |

kraut-und-rueben

Avatar von kraut-und-rueben

Anmeldungsdatum:
16. Februar 2014

Beiträge: 190

Wohnort: Quassel

Hallo Alle,

von früher habe ich ein kleines, mittlerweile eingeschlafenes Forum, bei phpbb8.de. Dessen Server war neulich fast 2 Wochen platt, nach kürzeren Aussetzern einige Monate vorher.

Das verlangt nach Änderung.

Allerdings will ich das Forum nicht wieder umziehen, aber ich finde seine Textsammlung (nur wenig Bilder, kein Riesen-Datenvolumen), zum Wegwerfen zu schade.

Gibt es Tools, womit ich als Admin des Forums diese Inhalte samt ihrer Struktur exportieren könnte? Um sie dann als eine Art Archiv zum Stöbern, ohne Forum-Funktionen, in meine Webseite einbinden zu können?

Der Hoster bietet - sofern er denn noch erreichbar ist, per Telefon jedenfalls nicht - für Geld eine Backup-Funktion. Aber die dient anscheinend dazu, dort ältere Zustände des Forums wieder aufspielen zu können.

Mag so eine Backup-Datei extern verwendbar sein, und wie?

Viele Grüße, Kraut-und-Rüben

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7777

Bei den kostenlosen Forenhostern ist das meist das Geschäftsmodell... kein Zugriff auf die Datenbank, oder eben entsprechend nur gegen Kohle.

Die Alternative ist das per Webscraping (eigenes Python-Script, Beautifulsoup o.ä.) zu erschlagen.

Mag so eine Backup-Datei extern verwendbar sein, und wie?

Läuft letztlich auf die Installation einer Forensoftware u. ggf. konvertieren des Datenbankformats hinaus.

Wenn du suchst findest du meistens Leidgenossen die von diesem oder jenen Anbieter schonmal umgezogen sind...

kraut-und-rueben

(Themenstarter)
Avatar von kraut-und-rueben

Anmeldungsdatum:
16. Februar 2014

Beiträge: 190

Wohnort: Quassel

Danke für die Stichworte zum Recherchieren (mit Verzögerung, habe zurzeit etliche Baustellen...).

Das Tool Beautifulsoup stammt von hier https://www.crummy.com/software/BeautifulSoup/

Und hier ist noch ein Anwendungsbeispiel https://riptutorial.com/de/web-scraping/example/31959/web-scraping-in-python--mit-beautifulsoup-

Um also die ganzen gewünschten Thread-Titel (Autor, Datum, …) und vor allem -Textinhalte damit aus dem Quelltext herauszukratzen (scrapen), muss man sich demnach an deren Tags (z. B. <ul> , <li> , <div> usw.) heften.

Ich melde mich nochmal, wenn ich weitergekommen bin oder feststecke.

kraut-und-rueben

(Themenstarter)
Avatar von kraut-und-rueben

Anmeldungsdatum:
16. Februar 2014

Beiträge: 190

Wohnort: Quassel

Das Forum, das ich archivieren will, ist heute morgen wieder platt! Falls es nochmal wiederaufersteht, wären dort auf knapp 10 Seiten etwa 400 Themen (Threads) verlinkt.

Gerade stand ich vor der Frage, wie man deren Inhalte alle automatisch auslesen kann, also alle Unterseiten öffnen und kopieren kann. Das gab das Stichwort für etwas, das sich einfacher anhört: Webseite spiegeln. Empfohlen und in den Paketquellen vorhanden wäre dafür z.B. http://www.httrack.com/

Ich will ja nicht in Datenbergen Perlen fischen (das assoziiere ich eher mit Webscraping), sondern möchte Threads mit Titel, Datum, Autor, Text, sporadisch mal einem Bild sowie externen und internen Links (Querverweisen) darin erhalten. Also das, was ein nicht angemeldeter Leser in dem Forum an Inhalten sehen kann. Ohne Stylesheet, Layout oder wie das heißt, und ohne irgend etwas aus der Admin-Ebene.

Ginge sowas per Spiegeln? Eventuell mit einem anderen Programm? Oder wären das irgendwie zu viele Unterseiten oder gäbe andere Probleme?

umbhaki Team-Icon

Supporter
Avatar von umbhaki

Anmeldungsdatum:
30. Mai 2010

Beiträge: 2587

Wohnort: Düren/Rhld

kraut-und-rueben schrieb:

Ginge sowas per Spiegeln? Eventuell mit einem anderen Programm? Oder wären das irgendwie zu viele Unterseiten oder gäbe andere Probleme?

Mit wget müsste das doch gehen. Scrolle in dem Wiki-Artikel mal herunter bis zum Abschnitt „Websites offline speichern“, da steht der Befehl, den du im Terminal brauchst.

Vorher solltest du dir ein Verzeichnis machen, in das die herunterzuladende Site gespeichert werden soll, und dann im Terminal in dieses Verzeichnis wechseln, also beispielsweise so:

mkdir ~/Downloads/Website && cd ~/Downloads/Website 

Dann gibst du den Befehl ein, wie er unter „Websites offline speichern“ im o.g. Wiki-Artikel steht.

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Ich habe jetzt sowohl wget als auch httrack ausprobiert und empfehle erstmal httrack.

Ich habe beide an der Website eines hier in der Region agierenden BattleTech-Chapters ausprobiert. Die Seite ist insgesamt nicht weiter komplex, hat aber den Vorteil, dass sie ein paar JavaScript-Spielereien nutzt, über die wget direkt gestolpert ist.

Wenn du es also mit wget ohne Erfolg versucht hast, gib httrack eine Chance. ☺

Und wegen der Begriffsdefinition: Web Mirroring/Crawling/Scraping arbeiten größtenteils auf die gleiche Weise mit dem einzigen Unterschied, dass das Ergebnis am Ende ggf. unterschiedlich stark gefiltert wird.

Edit: Na gut, httrack hat auch noch nicht alles erwischt, was es erwischen sollte. Es könnte also wirklich im Bereich von viel Trial & Error landen und mehrfachem erneuten Ansetzen an bestimmten Stellen.

kraut-und-rueben

(Themenstarter)
Avatar von kraut-und-rueben

Anmeldungsdatum:
16. Februar 2014

Beiträge: 190

Wohnort: Quassel

Hallo, endlich hatte ich mal genug Ruhe, um mich mit wget zu befassen und es auf meine Forum-Inhalte anzusetzen. Also z.B.

wget -r -k -l 1 https://forumname/unterforum-f2/page3.html

Es läuft, und mit der Suchtiefe komme ich klar. Hier 1 Ebene tiefer, also wenn page3.html die Themen-Titel als Links zeigt, dann werden die Link-Inhalte abgerufen.

Aber drumherum erwische ich zuviel, statt zu wenig. Konkret nervt dabei Gezappel (statt einer lapidaren kleinen Fehlermeldung) durch nicht aufgefundene Avatarbilder, auf die ich gern ganz verzichten würde. Ich vermute, eine javascript-Funktion namens imgerr, die sich im Quellcode findet, schwingt hier ihr Tanzbein. Also, in etwa sowas will ich gar nicht erst dabei haben:

<script type="text/javascript">diverse Anweisungen z.B. mit var, style_cookie_settings, popup(...), function imgerr(a){...}, die zum Nur-Lesen wahrscheinlich unnötig sind, aber stören </script>

Wenn ich das auskommentiere, kehrt Ruhe ein. Aber nur in der jeweiligen Datei. In all den dort verlinkten Themen (die Umwandlung in lokale Links per -k hat geklappt) zappelt es weiter. Meine verschiedenen Experimente mit

-R js
-R=js
-R „*.js“
--exclude-domains *.js 

zeigten alle keine Wirkung (jedoch auch keine Fehlermeldung). Das Javascript-Zeug ist ja auch keine Datei (gegen die -R gedacht ist) und keine Domain … aber womit kann man es bei wget dann draußen vor halten?

Foren komplett speichern ist anspruchsvoll, aber ich möchte doch bloß die Inhalte meines Forums archivieren, also die Thementitel-Listen mit Autor und Datum, und die Themen-Ebene darunter, ohne die ganzen Forum-Funktionen drumherum.

Könnte man diese Daten selektiv speichern? Kann man Webseiten teilweise speichern, also hier quasi das Mittelstück, ohne Kopf- und Fußbereich?

Fehlt mir bloß das richtige Zauberwort? Oder hätte man für diese Selektierung doch mehr Möglichkeiten mit o.g. httrack ?

Antworten |