Wie exportiere ich den Verlauf von Skype?


31

Ist es möglich, den Skype v4-Chatverlauf in ein lesbares Nur-Text-Format zu exportieren?
( .txt, .xml, .html)

Ist es alternativ möglich, den Skype-Chat-Verlauf zu sichern / wiederherzustellen?
(Es würde mir nichts ausmachen, in Google Mail oder in einem lesbaren Nur-Text-Format zu sichern.)

Ich habe zahlreiche Tools im Internet gefunden und sogar einige ausprobiert, aber sie scheinen nicht zu funktionieren.


Heutzutage ist es möglich, die Chats durch einfaches Kopieren der Datei zu sichern / wiederherzustellen main.dbund den Chat mit einem Python-Programm oder direkt mit einem Programm zu exportieren, das in der Lage ist, eine Datenbank sqlite3 zu lesen, eine Abfrage durchzuführen oder über die Option einer grafischen Oberfläche auszuwählen . Ich schrieb mehr Details in der Antwort unten.
Hastur

Antworten:


11

Siehe das hier vorgestellte Skript: Speichern des Skype-Chat-Verlaufs .

Hier ist der Code:

' Define global variables
Dim oFSO, chat_file, folder_to_save
' Directory where You want to save history (you can modify it)
' Now it is relative, so it will be created where Your *.vbs script runs
folder_to_save = "SkypeChatHistory"
line_count = 0

' Create FSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
set_next_free_dir()

' Connect to Skype API via COM
Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")
' Open skype, if it is not running
If Not oSkype.Client.IsRunning Then
oSkype.Client.Start()
End If

WScript.Echo "Skype history will be saved. Found " & oSkype.Chats.Count & " chat group."

' Iterate chats
For Each oChat In oSkype.Chats
names = ""
' First name is You, so it is unnecessary to keep
no_1st_flag = TRUE
For Each oUser In oChat.Members
If no_1st_flag Then
no_1st_flag = FALSE
Else
   names = names & "_" & oUser.FullName
End If
Next
get_file("chat" & names & ".txt")
chat_file.WriteLine(vbNewLine & "==== CHAT HISTORY (" & Replace(names, "_", "") & ") ====" & vbNewLine)
line_count = line_count + oChat.Messages.Count
' Fix by an anonymous commenter
If oChat.Messages.Count > 0 Then
For Each oMsg In oChat.Messages
' Fix by Vadim Kravchenko
On Error Resume Next
chat_file.WriteLine(oMsg.FromDisplayName & " (" & oMsg.Timestamp & "): " & oMsg.Body)
Next
End If
chat_file.Close
Next

WScript.Echo "Backup was finished (" & line_count & " line saved). You can find your chats in: ./" & folder_to_save

' Garbage collection
SET chat_file = NOTHING
SET folder_to_save = NOTHING
SET oFSO = NOTHING
SET oSkype = NOTHING

' Access to a file given by name
Sub get_file(file_name)
' Parameter fix by: rommeech
Set chat_file = oFSO.OpenTextFile(folder_to_save & "/" & file_name, 8, True, -1)
End Sub

' Find an appropriate directory the logs to save, however, to avoid collision with former dirs
Sub set_next_free_dir()
If oFSO.FolderExists(folder_to_save) Then
ext = 1
While oFSO.FolderExists(folder_to_save & "_" & ext) And ext < 100
  ext = ext + 1
Wend
folder_to_save = folder_to_save & "_" & ext
End If
oFSO.CreateFolder(folder_to_save)
End Sub

Einfach als .vbsDatei speichern und ausführen. Beim ersten Mal werden Sie von Skype nach der Berechtigung zum Herstellen einer Verbindung mit der Skype-API gefragt. Klicken Sie daher einfach auf OK. Danach erstellt es einen Ordner mit dem Namen SkypeChatHistoryund einige Dateien, in denen sich Ihr Chat-Verlauf befinden sollte.


1
Vielen Dank. Leider funktioniert es bei mir nicht :-( Es wird der Fehler "Automatisierungsklassennamen 'Skype4COM.skype' konnte nicht gefunden werden" angezeigt. Ich werde versuchen herauszufinden, wie es funktioniert.
Peter Štibraný

1
Ich habe es funktioniert ... Ich musste Skype4COM von developer.skype.com/Download installieren (mithilfe von regsvr32.exe Skype4COM.dll von cmdline) und dann das Skript erneut ausführen.
Peter Štibraný

Es stellt sich heraus, dass die Verwendung der Skype-API zum Abrufen des Chat-Verlaufs ziemlich einfach ist. Danke, dass Sie mir die richtige Richtung gezeigt haben.
Peter Štibraný

1
Ich erinnere mich, dass ich es einmal benutzt hatte und es zu dieser Zeit funktionierte. Jetzt gibt es mir diesen Fehler i53.tinypic.com/zmd3lf.png
IsmailS

1
Der Download wurde hierher verschoben: developer.skype.com/accessories
sjbotha

10

Es gibt Skype Historian , es kann in Klartext, JSON, CSV und XML exportiert werden. auch in der Lage, Daten zu gruppieren.

Ab 2013 hat es bei mir sofort funktioniert (mein Skype ist 6.0.0.126). Sein Nachfolger scheint jedoch Open Source zu sein Skyninja zu sein , den ich noch nicht ausprobiert habe.

Systemanforderungen: Windows 7 / Windows XP mit .NET Framework 3.5

Exportoptionen

Fand den Link zu diesem Projekt auf dem Blog in Harrymcs Antwort.


Es scheint keine Builds von Skype-Ninja zu geben.
lkraav

@lkraav Es scheint eine Version von 20150318 v0.1 von skyninja zu geben. es erfordert dotnet 4.5
n611x007

3

Das ist der Grund, warum ich immer noch Skype 3 benutze.

was dachten sie sich, als sie das entfernten? Befehl / htmlhistory entfernten ?

bei Skype 4 gibt es leider nur Sonderprogramme wie Pamela für Skype (Chat-Aufzeichnung ist in der kostenlosen Version nicht verfügbar).

Das Sichern und Wiederherstellen des Chat-Verlaufs ist relativ einfach:

Suchen Sie den Ordner Anwendungsdaten \ Skype \ (Ihren Benutzernamen) und kopieren Sie ihn an einen anderen Speicherort, z. B. auf eine CD oder DVD-ROM.

Um die Verlaufsdateien wiederherzustellen, kopieren Sie die Dateien einfach zurück in diesen Ordner.


3

Schnelle Antworten

  1. Ist es möglich, den Skype v4-Chat-Verlauf (.txt, .xml, .html) zu exportieren?
    Ja, es ist mit Programmen wie Skyperious [ 1 ] , die in Phyton und Open Source geschrieben sind, oder direkter mit jedem Programm, mit dem das sqlite3Datenbankformat [ 3 ] gelesen werden kann (Einzelheiten siehe unten).

  2. Ist es alternativ möglich, den Skype-Chat-Verlauf zu sichern / wiederherzustellen?
    Ja, das ist [ 2 ] . Der Chatverlauf wird in einer Datenbankdatei gespeichert, der main.dbDatei.
    Sie können die main.dbDatei sichern und wiederherstellen . wann du brauchst / willst.


Noch ein paar Worte zum Exportieren in ein vom Menschen benutzbares Format:

  • Es ist nicht der Fall, das Rad neu zu erfinden. :-) Es gibt viele Programme, die dafür entwickelt wurden.
    Ich möchte Skyperious [ 1 ] vorschlagen , das in Python geschrieben und als Quellcode und in einer Binärversion für Windows heruntergeladen werden kann , damit es unter jedem Betriebssystem funktioniert .
    Es ist die Lage zu exportieren in html, txtoder csv.
    Diese Befehlszeile für Linux erstellt eine HTML-Datei für jeden anderen Chat-Partner in einem Unterverzeichnis:

        ./skyperious.sh export ~/.Skype/SKYPE_USERNAME/main.db -t html
    

    Für Windows gibt es die analoge Batch-Datei skyperious.bat. HTML mit einem schönen Format.

  • Um ehrlich zu sein, brauchen Sie kein drittes Teilprogramm, aber Sie können ein Fitnessstudio mit einer Datenbank machen.
    Der Chat befindet sich in der Datei main.db [ 2 ] . das ist eine sqlite3-Datenbank [ 3 ], [ 4 ] .
    Mit sqlite3oder mit einem anderen grafischen oder nicht grafischen Werkzeug können Sie eine Abfrage wie z

        sqlite3 main.db "SELECT author,timestamp, body_xml 
                FROM messages WHERE dialog_partner = '<OTHER_SKYPENAME>'" > My_file.txt
    

    (in nur einer Zeile und mit dem Skype-Benutzernamen der zweiten Person statt <OTHER_SKYPENAME>)

    Beachten Sie, dass es für SELECTjede Spalte der Datenbank möglich ist, an der Sie interessiert sind.
    Mit einer grafischen Benutzeroberfläche wie sqliteman [ 3b ] können Sie die Spalte einfacher grafisch auswählen und anschließend den Wert von filtern ein Feld ... und es wird wieder eine Zeile als

    SELECT author, timestamp, body_xml FROM "main"."messages" WHERE dialog_partner = 'SKYPE NAME of 2nd USER';
    

    Bildbeschreibung hier eingeben


Einige Worte mehr über Backup / Restore

Es ist möglich, die Chat-Datei direkt zu sichern / wiederherzustellen [ 2 ] .

Der gesamte Chatverlauf wird in einer Datenbankdatei, der main.db-Datei, gespeichert.
Wenn Sie regelmäßig Kopien dieser Datei erstellen, ist es immer möglich, den Chat-Verlauf wiederherzustellen.
Stellen Sie sicher, dass Skype nicht auf dem Computer ausgeführt wird.

Sie müssen nur herausfinden, wo es auf Ihrem Computer gespeichert ist:

  • In Windows wird berichtet , [ 2b ] zu sein in %appdata%\Skype\YourSkypeName, wo in der Regel %appdata%\Skypeist übersetzt:C:\Users\YourUserName\AppData\Roaming\Skype
  • In Linux ist stattdessen unter /home/LinuxUsername/.Skype/SkypeUserName/
    oder in Kürze ~/.Skype/SkypeUserName/.
  • Auf dem Mac sollte darunter sein ~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/

1
Ich stimme zu, github.com/suurjaak/Skyperious ist das beste verfügbare Tool. Es kann sogar Statistiken Ihrer Chats erstellen, z. B. Nachrichten pro Benutzer, Emoticons pro Benutzer, die am häufigsten verwendeten Wörter in einem Chat usw.
Asmaier

3

Wenn Sie Ihren Verlauf auf einfachste Weise in ein lesbares Format exportieren möchten, ist dies skypebrowser.com , das Ihren Verlauf lesen kannmain.db Datei kann.

Da es sich jedoch um einen Dienst von Drittanbietern handelt, sollten Sie vor der Verwendung des Dienstes überlegen, ob Ihre Chats vertrauliche Daten enthalten. In diesem Fall ist ein SQLite-Browser Ihre einzige sichere Wahl (Sie benötigen die messagesTabelle).


1

Das Skype-Plugin G-Recorder eignet sich hervorragend zum Sichern von Chats.


Ich habe das gefunden, aber es hat bei mir nicht funktioniert :-(
Peter Štibraný

@Peter: Ich bin Mitautor von G-Recorder. Haben Sie Ihr Problem unter dem Menüpunkt "Problem melden" gemeldet? Zumindest um zu sehen, wie unser Support-Team funktioniert :)
Andriy Tylychko


1

Sie müssen nur zu Ihrem Benutzerhauptordner gehen, wie in win7: C: \ Users [Ihr_Benutzer] \ AppData \ Roaming \ Skype

Denken Sie daran, dass der Ordner "AppData" ausgeblendet ist, sodass Sie möglicherweise die Option zum Anzeigen ausgeblendeter Ordner auswählen müssen.

Suchen Sie dann den Ordner mit dem Benutzernamen Ihres Skype-Kontos und kopieren Sie ihn auf den neuen PC. Alle Ihre Chat- und Kontaktsymbole usw. werden auf den neuen Computer kopiert.


1

Öffnen Sie einfach ein neues Chatfenster mit dem Kontakt, für den Sie den Chatverlauf speichern möchten. Geben Sie "/ history" (ohne Anführungszeichen) in das Chatfenster ein. Wenn der Verlauf ausgefüllt ist, markieren Sie einen Teil des Texts mit dem Mauszeiger. Drücken Sie dann (unter Windows) " Ctrl+ A" auf Ihrer Tastatur. Sobald alles markiert ist, drücken Sie " Ctrl+ C". Öffnen Sie Microsoft Word (oder eine ähnliche Textverarbeitungssoftware wie OpenOffice.org Writer) und drücken Sie " Ctrl+ V" auf Ihrer Tastatur. Speichern Sie die Datei auf Ihrer Festplatte oder Ihrem USB-Laufwerk, und voila: Sie haben eine vollständige Aufzeichnung Ihres Chat-Verlaufs.


0

Software, mit der Sie Anrufe aufzeichnen und aufgezeichnete Anrufe / Chat-Verlauf / Dateiübertragungen an Ihre E-Mail- Adresse speichern können - http://skype2email.com

Skype2email ist ein kommerzielles Programm mit einer 14-tägigen kostenlosen Testversion.
Haftungsausschluss: Ich habe an diesem Programm gearbeitet.


Hallo Mehal. Ich habe Ihr Programm ausprobiert, aber es stürzt ab, wenn ich es starte. Wenn Sie mir sagen, wo ich suchen oder was ich Ihnen schicken soll, werde ich es noch einmal versuchen.
Peter Štibraný


0

Es gibt eine Option zum Exportieren des Skype-Verlaufs in CSV usw. von Ihrer Kontoseite auf Skype.com .


7
Könnten Sie bitte schreiben, wo genau ich es finden kann? Ich habe den gesamten Skype-Account durchgesehen, ihn aber nirgendwo gefunden :-(
Peter Štibraný

1
Nicht zu vergessen, wie beängstigend das ist
lkraav

0

Ich denke, es gibt eine elegantere Möglichkeit, Ihre Chats und Anrufe zu speichern und an eine E-Mail zu senden. Mit Skype Recorder können Sie beispielsweise alles im Online-Speicher speichern und Funktionen wie die Volltextsuche, das Spielen Ihrer Anrufe online und viele andere nützliche Funktionen hinzufügen. Ich denke, es wird dir bei deinem Problem wirklich helfen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.