it-swarm.dev

Vieni ad esportare la cronologia di Skype?

È possibile esportare la cronologia chat di Skype v4 in un formato di testo semplice leggibile?
(.txt, .xml, .html)

In alternativa, è possibile eseguire il backup/ripristino della cronologia chat di Skype?
(Non mi dispiacerebbe fare il backup su Gmail, o su un formato di testo semplice leggibile).

Ho trovato numerosi strumenti su Internet e ho anche provato alcuni di loro, ma non sembrano funzionare.

31

Vedi lo script presentato qui: Salva la cronologia chat di Skype .

Ecco il codice:

' 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

Basta salvarlo come file .vbs ed eseguirlo. Quindi, per la prima volta, Skype ti chiederà il permesso di connettere l'API di Skype, quindi fai clic su OK. Dopodiché creerà una cartella chiamata SkypeChatHistory e alcuni file al suo interno che dovrebbero avere la cronologia della chat.

11
harrymc

C'è Skype Historian , può esportare in testo semplice, json, csv e xml; anche in grado di raggruppare i dati.

A partire dal 2013, ha funzionato per me out of the box (il mio skype è 6.0.0.126). Comunque il successore sembra essere il open-source skyninja , che non ho ancora provato.

Requisiti di sistema: Windows 7/Windows XP con .NET Framework 3.5

export options

Trovato il link a questo progetto sul blog nella risposta di harrymc.

10
n611x007

Se si desidera che il modo più semplice per esportare la cronologia in un formato leggibile, sarebbe skypebrowser.com , che può leggere il file main.db.

Ma dal momento che si tratta di un servizio di terze parti, ovviamente dovresti pensarci due volte prima di usarlo se hai qualche dato confidenziale nelle tue chat. In questo caso la tua unica scelta sicura è un browser SQLite (ti servirà la tabella messages).

3
geppertuo

questo è il motivo per cui sto ancora usando Skype 3.

cosa stavano pensando quando hanno rimosso il comando /htmlhistory ???

con Skype 4 temo che le uniche opzioni siano programmi commecial come Pamela per Skype (chat la registrazione non è disponibile nella versione gratuita).

come per il backup e ripristinare la cronologia della chat, è abbastanza facile:

Individua la cartella Dati applicazione\Skype\(nome utente) e copiala in un'altra posizione, ad esempio un CD o un DVD-ROM.

Per ripristinare i file della cronologia è sufficiente copiare nuovamente i file in quella cartella.

3
Molly7244

Risposte rapide

  1. È possibile esportare la cronologia chat di Skype v4 (.txt, .xml, .html)?
    Sì, è con programmi come Skyperious  [ 1 ], scritto in phyton e open source, o più direttamente con ogni programma che consente di leggere il formato di database sqlite3 [ 3 ] (vedi sotto per i dettagli).

  2. In alternativa, è possibile eseguire il backup/ripristino della cronologia chat di Skype?
    Sì, è  [ 2 ]. La cronologia della chat viene salvata in un unico file di database, il file main.db.
    È possibile eseguire il backup e il ripristino del file main.db. quando hai bisogno/vuoi.


Alcune parole in più da esportare in un formato umano utilizzabile:

  • Non è il caso di reinventare il weel :-) Ci sono molti programmi sviluppati per questo.
    Vorrei suggerire Skyperious  [ 1 ], scritto in python, scaricabile come codice sorgente e in versione binaria per Windows in modo che possa funzionare sotto ogni sistema operativo .
    È in grado di esportare in html, txt o csv.
    Questa riga di comando per Linux creerà un file html per ciascun altro partner di chat in una sottodirectory:

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

    Per Windows esiste l'analogo file batch skyperious.bat. Html con un bel formato.

  • Ad essere onesti non è necessario un programma di terze parti : ma puoi fare un po 'di palestra con un database.
    La chat è dentro il file main.db [ 2 ]. questo è un database sqlite3 [ 3 ], [ 4 ].
    Con sqlite3 o con qualsiasi altro strumento grafico o non grafico è possibile eseguire una query come

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

    (in una sola riga e con il nome utente skype delle seconde anziché <OTHER_SKYPENAME>)

    Nota che è possibile SELECT ogni colonna del database che ti interessa.
    Con una GUI come sqliteman [ 3b ], può essere più semplice, puoi selezionare la colonna in modo grafico, quindi inserire un filtro sul valore di un campo ... e comporrà di nuovo una riga come

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

    enter image description here


Alcune parole in più su backup/ripristino

È possibile eseguire il backup/ripristinare direttamente il file di chat [ 2 ].

Tutta la cronologia chat viene salvata in un unico file di database, il file main.db.
Se fai copie regolari di questo file, sarà sempre possibile ripristinare la cronologia della chat.
Assicurati che Skype non sia in esecuzione sul computer.

Devi solo trovare dove è memorizzato sul tuo computer:

  • In Windows è segnalato [ 2b ] essere in %appdata%\Skype\YourSkypeName, dove solitamente %appdata%\Skype si traduce in: C:\Users\YourUserName\AppData\Roaming\Skype
  • In Linux invece è sotto /home/LinuxUsername/.Skype/SkypeUserName/
    o in breve ~/.Skype/SkypeUserName/.
  • Su Mac dovrebbe essere sotto ~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/
3
Hastur

Il plug-in Skype G-Recorder funziona perfettamente per me per il backup delle chat.

1
Greg

Devi solo andare nella cartella principale dell'utente come in win7: C:\Users [tuo_utente]\AppData\Roaming\Skype

Ricorda che la cartella "AppData" è nascosta, quindi potresti dover selezionare l'opzione per mostrare le cartelle nascoste.

Quindi trova la cartella con il nome utente del tuo account skype e copialo sul nuovo PC ... tutte le chat e le icone dei contatti e così via verranno copiati sul nuovo computer.

1
Iconfx

Puoi utilizzare questo per esportare i dati della cronologia chat:

http://www.gammatwo.com/2010/12/18/save-skype-chat-history/

1
Maryann

Basta aprire una nuova finestra di chat con il contatto per il quale si desidera salvare la cronologia della chat. Digita "/ history" (senza le virgolette) nella finestra di chat. Una volta compilata la cronologia, selezionare/evidenziare una parte del testo con il cursore del mouse. Quindi, (su Windows) premere "Ctrl+A"sulla tastiera.Una volta che tutto è evidenziato, premere"Ctrl+C. "Apri Microsoft Word (o un simile software di elaborazione testi, come OpenOffice.org Writer) e premi"Ctrl+V"sulla tastiera, salva il file sul disco rigido o sull'unità USB, e voilà: hai una registrazione completa della cronologia chat.

1
Wesley

Esiste un'opzione per esportare la cronologia di Skype in CSV ecc dalla pagina Account su Skype.com .

0
Daniel

Software che consente di registrare le chiamate e memorizzare le chiamate registrate/cronologia chat/trasferimenti di file alla tua email - http://skype2email.com

Skype2email è un programma commerciale con una prova gratuita di 14 giorni.
Disclaimer: ho lavorato a questo programma.

0
Mehal

Penso che ci sia un modo più elegante per salvare le tue chat e le chiamate e poi inviarlo via email. Ad esempio, utilizzando Skype Recorder ti consente di salvarlo tutto nella memoria online e di aggiungere funzioni come la ricerca full-text, riprodurre le chiamate online e molte altre belle funzionalità. Penso che ti aiuterà davvero con il tuo problema.

0
Zhenya

La cosa più semplice da fare se vuoi trasferire la cronologia su un altro computer è seguire i consigli di Skype qui: https://support.skype.com/en/faq/FA10649/ Can-I-Transfer-my-chat-history-da-un-computer-a-altro? Frompage = search & q = chat + cronologia e fromSearchFirstPage = false . Quello che fai è contrassegnare le tue conversazioni come Non letto e vengono trasferite su un altro computer quando accedi ad esso la volta successiva.

0
RyanTM

Questo strumento può esportare la tua cronologia di Skype in HTML:

Puoi trovare eseguibili per Win e Mac qui:

0
asmaier