Froschs Blog

Computer und was das Leben sonst noch so zu bieten hat

Zur Website | Impressum

Abschied von Google+

31. Januar 2019 um 19:57 Uhr von Atari-Frosch

Bereits am 10. Dezember hat Google den Zeitplan bekanntgegeben, um Google+ zu schließen: Im April dieses Jahres soll es nun bereits soweit sein. Ich war auf dieser Plattform seit Mitte Juli 2011 aktiv, und da haben sich so einige Beiträge angesammelt. Viele davon sind „nur“ kommentierte oder auch einfach unkommentierte Links zu Artikeln. Trotzdem hatte ich die Idee, den ganzen Krempel auf einer Subdomain in ein ClassicPress einzulesen und weiterhin öffentlich verfügbar zu halten.

Die Sache hat allerdings so ein paar Haken.

Ich habe mir vorhin per Takeout meine Beiträge usw. von Google+ heruntergeladen. Was da ankam, war ein knapp 1 GB großes ZIP-Archiv mit sämtlichen Beiträgen und den dazugehörigen Metadaten und Fotos. Die Beiträge selbst sind in HTML gehalten, mit Inline-CSS. Das sieht dann so aus (Ausschnitt):

-rw-r--r-- 1 frosch frosch   5229 Oct 10  2013 20131010 - „GLÜCKWÜNSCHE [Sie gewonnen haben die S.html
-rw-r--r-- 1 frosch frosch   4997 Oct 10  2013 20131010 - Gute Frage_.html
-rw-r--r-- 1 frosch frosch  10963 Oct 10  2013 20131010 - Hm. Also 2_3 der Wahlberechtigten wolle.html
-rw-r--r-- 1 frosch frosch   8773 Oct  9  2013 20131010 - Örks. Südafrika schreibt den Bildungsrü.html
-rw-r--r-- 1 frosch frosch   4131 Oct 12  2013 20131012 - Es macht mich gerade aus mehreren Gründ.html
-rw-r--r-- 1 frosch frosch   3827 Oct 13  2013 20131013 - Beitrag.html
-rw-r--r-- 1 frosch frosch   4842 Oct 15  2013 20131015 -  #asyl   #refugeecamp   #berlin  .html
-rw-r--r-- 1 frosch frosch   6765 Oct 15  2013 20131015 - Die NSA spioniert Online-Adressbücher a.html
-rw-r--r-- 1 frosch frosch   8573 Oct 14  2013 20131015 - #nsa.html
-rw-r--r-- 1 frosch frosch   4157 Oct 15  2013 20131015 - Was über  #autismus . Ich hab auch so m.html
-rw-r--r-- 1 frosch frosch   4082 Oct 16  2013 20131016 - Bin grade überrascht, wie günstig ein n.html
-rw-r--r-- 1 frosch frosch   4322 Oct 16  2013 20131016 - _Loriot_Ach._Loriot_  #hartz4   #welte.html
-rw-r--r-- 1 frosch frosch   4241 Oct 16  2013 20131016 - Wissenschaftlicher  #catcontent  .html
-rw-r--r-- 1 frosch frosch   5555 Oct 17  2013 20131017 - Aber wehe, ein  #hartz4  Zwangsverarmte.html
-rw-r--r-- 1 frosch frosch   5435 Oct 17  2013 20131017 - m(.html
-rw-r--r-- 1 frosch frosch   3968 Oct 17  2013 20131017 - Nochmal_ Kein Mensch ist illegal!.html
-rw-r--r-- 1 frosch frosch   5062 Oct 17  2013 20131017 - Wer hätte das gedacht …  #nsa  .html
-rw-r--r-- 1 frosch frosch   4593 Oct 18  2013 20131018 -  #störerhaftung   #freifunk  .html
-rw-r--r-- 1 frosch frosch   4409 Oct 19  2013 20131019 -  #asyl   #refugeecamp   #berlin  .html
-rw-r--r-- 1 frosch frosch   4105 Oct 19  2013 20131019 - Cool_.html
-rw-r--r-- 1 frosch frosch   3905 Oct 19  2013 20131019 - _-D.html

Ich könnte mich jetzt natürlich auf den Popo setzen und ein Python-Script schreiben, um diese 10.880 Beiträge (nein, das ist keine Fantasie-Zahl 😀) in ein Format zu wandeln, das ich in ein ClassicPress importieren könnte, denn so ist das nicht sinnvoll verwertbar. Es ist anzunehmen, daß ich damit ein paar Tage beschäftigt wäre. Also, so'n paar Tage mehr.

Die Metadaten wie der Zeitstempel und mit wem bzw. welcher Sammlung geteilt wurde usw. stehen jeweils in den Dateien mit drin. Die Metadaten sind teils in deutsch, teils in englisch beschriftet – und ja, die gleichen Metadaten jeweils mal in der einen, mal in der anderen Sprache. An dieser Stelle müßte ich außerdem Beiträge erkennen, die privat geteilt wurden. Das habe ich zwar nur in wenigen Fällen gemacht, aber wenn, dann üblicherweise mit Inhalten, die auch in einem solchen Backup nicht unbedingt öffentlich sein sollten. In einer ClassicPress-Instanz müßten diese Beiträge dann entsprechend auch auf privat gesetzt werden (Zugang nur mit Paßwort).

An Bilddateien kamen korrekterweise nur die mit, die ich selbst hochgeladen hatte. Zu jeder Bilddatei kam außerdem eine CSV-Datei mit den dazugehörigen Metadaten mit.

Auch alle Kommentare zu meinen Beiträgen sind im Takeout mit drin, und die bringen den nächsten Haken mit sich: Ich habe nämlich gewisse Zweifel daran, ob ich die überhaupt einfach so republizieren darf, ohne sämtliche Kommentatoren zu fragen, ob sie damit einverstanden sind. Denn die Kommentatoren haben das Recht auf Distribution nur Google+ gegeben, aber nicht mir. Oder?

Als Alternative für den Takeout wurde mir noch die Software Google+ Exporter genannt. Diese soll in der Lage sein, direkt in ein Format zu exportieren, das ein WordPress (und damit auch ein ClassicPress) einlesen kann. Auch diese Sache hat gleich zwei Haken: Zum einen ließ sich das heruntergeladene Paket für Linux 64bit bei mir nicht starten, sondern erzählte mir:

Unhandled Promise Rejection

SentryError: HTTP Error (429): Creation of this event was denied due to rate limiting at new SentryError (/tmp/.mount_GooglecPInuV/resources/app/node_modules/@sentry/core/dist/error.js:9:28) at ClientRequest.captureEvent.req.on (/tmp/.mount_GooglecPInuV/resources/app/node_modules/@sentry/electron/dist/main/transports/net.js:44:36) at URLRequest.constructor.urlRequest.on (/tmp/.mount_GooglecPInuV/resources/electron.asar/browser/api/net.js:207:12)

Ja, danke auch. 🙁

Das Paket ist so nebenbei unter dem Kernel 2.6.18 gebaut worden, während hier unter Debian Jessie – was nun wirklich nicht taufrisch ist – ein 3.16er-Kernel werkelt. Da ist abzusehen, daß nicht unbedingt alles funktionieren wird. Das habe ich letztens schon bei einem Spiel festgestellt, das ich von itch.io gekauft hatte; auch das war gegen den 2.6er-Kernel gebaut gewesen, und auch das ließ sich nicht starten (es war allerdings zusätzlich auf 32bit gebaut worden).

Zum anderen ist die kostenlose Version dieses Programms nur in der Lage, maximal 800 Beiträge einzulesen. Das ist für meinen Bedarf dann doch etwas wenig. Die Vollversion soll 19,90 $ kosten. Well. Dazu müßte die freie Version erstmal funktionieren, bevor ich für die Vollversion Geld ausgebe.

Mein Stand ist dann also:

  1. Wenn ich diesen Takeout republizieren möchte, müßte ich mir dann doch selbst was zusammenschrauben, eventuell mit Hilfe von weiteren Menschen, die das gleiche Interesse haben und mit Python3 als Sprache einverstanden wären.
  2. Es wäre abzuklären, ob ich mich mit der Übernahme der Kommentare unter meinen Beiträgen wegen des Distributionsrechts in die Nesseln setze.

Ideen? Vorschläge? Meinungen?

7 Kommentare zu “Abschied von Google+”

  1. Patrice Brenner quakte:

    Leider bin ich da überhaupt nicht firm drin.
    Ich habe mir was mit dem kommerziellen Google+ Exporter zusammengetückelt und zu WordPress geschaufelt.


  2. Atari-Frosch quakte:

    Tja, wie gesagt, es wäre sicher praktisch gewesen, wenn der Exporter bei mir funktionieren würde. Die Funktionsfähigkeit wird hier allerdings sicher nicht durch den Kauf der Vollversion sichergestellt 😉


  3. SackOhneSenf quakte:

    Also Python ist nicht mein Ding, aber man muss nicht immer versuchen alles in einem Schritt machen zu wollen. Mehrere einfache Schritte sind gerade in einem solchen Fall mit geringer Nutzungsdauer/-anzahl oft der leichtere Weg.

    Kannst du mir einen Auszug deines Archivs schicken und irgendwie markieren oder genau beschreiben, welche Informationen du benötigst?

    Ich könnte mal schauen, ob ich mit einfachen Werkzeugen (Shell Scripten bzw. AWK, sowie einige Tools für solche Aufgaben). die Daten in ein leichter zu bearbeitendes ASCII/UTF-8 Format umwandeln kann … sprich unnötige HTML Tags entfernen, Informationen raus picken und einer E-Mail-Header ähnlichen Struktur ablegen (Tagname, Doppelpunkt, Information, Zeilenende). So abgelegte Information lässt sich in der regel leicht filtern und formatieren, ohne komplexe Programme schreiben zu müssen. Ob du den letzten Teil dann mit Python machst oder mit anderen Tools ist dann deine Sache, der Aufwand dafür sollte aber deutlich niedriger liegen als alles in einem Schritt aus den HTML Dateien raus zu fischen und ein anders komplexes Format umzuwandeln.

    Ist nur ein Vorschlag und bevor ich etwas versprechen kann muss ich selbst sehen was das für ein Aufwand ist.

    Privat-Sphäre/Datenschutz für deine Daten bei mir garantiert und nach Abschluss tilge ich hier alles von der Platte.


  4. Atari-Frosch quakte:

    @SackOhneSenf: Von Zwischenschritten (unabhängig von der jeweils benutzten Sprache) halte ich bei der Konvertierung von Daten in eine andere Struktur gar nichts. Wenn die Inhalte mit einem Programm schon erkannt und zugeordnet werden können, dann kann man sie auch gleich in eine WordPress-Datenbank schreiben. Was soll denn eine mehrfache Umstrukturierung bringen, von potentiellem Datenverlust mal abgesehen?

    Ob das HTML komplett raus kann, ist für mich auch noch nicht klar. Was rauskönnte, ist wohl größtenteils das Inline-CSS, da ich CSS ja über das Theme steuere. HTML-Tags dagegen werden ja teilweise auch in den Artikeltexten eines Blogs verwendet. Wenn sie komplett weggeworfen werden, kann es sein, daß – ggf. viele – Artikel nochmal komplett im Editor nachbearbeitet werden müssen. Das würde ich ja schon gern vermeiden.


  5. SackOhneSenf quakte:

    Du fragst was es bringt, nicht alles auf einmal machen zu wollen? Schon mal vom KISS Prinzip gehört? Der Basis-Arbeitsweise von Unix: Viele einfache Filter richtig hintereinander geschaltet sind in der Erstellung oft erheblich einfacher, als alles in einem komplexen Schritt machen zu wollen. Ein Punkt, den leider viel zu viele nicht wirklich verstanden haben.

    Nach meinen Erfahrungen sind solche Daten-Konverter Projekte, insbesondere bei einer hohen Datensatz Anzahl, bei günstiger Zerlegung der Schritte oft in der Hälfte der Zeit oder sogar weniger durchführbar, als mit einem komplexen Ansatz. Einfach, weil simple Scripte/Programme aufgrund ihrer geringen Komplexität schneller zu erstellen und testen sind. Von der nachträglichen Fehlersuche in einem schwer verständlichen Programmwust gar nicht erst zu sprechen … und solche Fehler tauchen in in solchen Projekten bei den ersten Durchläufen fast immer auf … und dann wird gestrickt und gestrickt, bis keiner mehr richtig durchblickt (sorry, hab ich schon zu oft gesehen).

    … aber wie immer, es war ein Vorschlag und bleibt deine Entscheidung!

    Was eine „mehrfache Umstrukturierung“ bringen soll? Hast du schon mal ernsthaft mit Pipes und Filtern unter Unix gearbeitet? Einfache Tools, richtig verknüpft, die Stärken verschiedener Tools/Sprachen richtig ausgenutzt, Komplexität reduziert und somit Geschwindigkeit beim erstellen und der Fehlersuche reduziert. Das kann es bringen, wenn man es richtig macht.

    „HTML-Tags entfernen“ war ein Beispiel, da ich nicht weiß was du brauchst. Ersetz das Beispiel einfach in CSS entfernen. Drum sagte ich ja, beschreibe was du brauchst.

    Von „Datenverlust“ ist in sofern keine Rede, weil man die Original Daten immer aufhebt. Was eben sein kann, dass man in einem späteren Schritt merkt, dass bestimmte Informationen bei der Umsetzung in einem Filter-Schritt übersehen wurden. Das passiert immer, aber da man bei vielen kleinen Schritte, die Zwischendaten leicht einsehen kann, ist das Aufspüren des Verlustes und die Modifikation eines einfachen Filter-Schrittes in aller Regel kein großer Zeitverlust. Dann schiebt man die Daten (oder einen Teil) zum testen erneut durch die Kette, bis zum nächsten Problem, usw. bis man mit dem Ergebnis zufrieden ist (iteratives arbeiten).

    Ein Sprichwort sagt: Viele Wege führen nach Rom. Der eine geht gern den kurzen steilen, aber langsamen (mühsamen) Weg, der andere bevorzugt den langen flachen, aber schnelleren (bequemeren) Weg.


  6. Atari-Frosch quakte:

    @SackOhneSenf: Das „iterative Arbeiten“ habe ich mit einem einzigen Script genauso. Durchhangeln von Fehlermeldung zu Fehlermeldung, im ungünstigsten Fall. In Python ist das abschnittsweise möglich, indem man mehrere classes hintereinander ablaufen läßt und die Daten von einer zur nächsten durchreicht.

    KISS? Das ist KISS. Ein Werkzeug für genau eine fest definierte Aufgabe: Konvertierung vom Google+-Takeout in eine WordPress-Datenbank. Das Gegenteil wäre ein Werkzeug, das x verschiedene Aufgaben löst. 🙂

    Und im Hinblick darauf, daß ich das Werkzeug dann auch anderen zur Verfügung stellen möchte, die vielleicht mit der Konsole nicht so vertraut sind, ist ein einzelnes Script sicher auch sinnvoller als das, was Du vorschlägst.


  7. SackOhneSenf quakte:

    Ich sagte schon, viele Wege führen nach ROM und es ist deine Entscheidung.

    Ich habe aus meiner praktischen Erfahrung heraus einen Vorschlag gemacht, wie sich dein Problem über das du „jammerst“ in meinen Augen vereinfachen ließe, wie man eben eine komplexe Aufgabe in einfache Teilschritte zerlegt. Du musst den Vorschlag nicht annehmen. Ich störe mich nur daran, dass du einen aus der Erfahrung jahrelanger Praxis vieler Leute, die mit solchen Arbeiten zu tun hatten, mehr oder weniger als „völlig ungeeignet“ darstellst (zumindest kommt das so bei mir an).

    … konkret noch zu zwei Punkten, dann werde ich mich nicht mehr einmischen:

    KISS: Schau mal nach, was KISS wirklich bedeutet. Dein Verständnis davon zeigt, wie sehr du daneben liegst.

    Mögliche Weitergabe der Lösung: Wieso soll ein einzelnes komplexes Script sinnvoller sein, als mehrere einfache kleine, die durch ein (ebenfalls simples) Shell Script aufgerufen werden. Was in beiden Fällen bei einer fertigen Lösung bleibt, ist ein einzelner Aufruf. Auch hier zeigt sich deutlich, wie sehr dein Verständnis von einer einfachen Herangehensweise abweicht.


Kommentieren

Bitte beachte die Kommentarregeln!

XHTML: Du kannst diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>