Como exporto o histórico do Skype?


31

É possível exportar o histórico de bate-papo do Skype v4 para algum formato de texto simples legível?
( .txt, .xml, .html)

Como alternativa, é possível fazer backup / restaurar o histórico de bate-papo do skype?
(Eu não me importaria de fazer backup no Gmail ou no formato de texto simples legível).

Encontrei inúmeras ferramentas na internet e até tentei algumas delas, mas elas não parecem funcionar.


Atualmente é possível fazer backup / restaurar os chats simplesmente copiando o arquivo main.db, e é possível exportar o bate-papo com um programa python ou diretamente com um programa capaz de ler um banco de dados sqlite3, fazendo uma consulta ou selecionando através da opção de uma interface gráfica . Eu escrevi mais detalhes na resposta abaixo.
Hastur

Respostas:


11

Veja o script apresentado aqui: Salve o histórico de bate-papo do Skype .

Aqui está o código:

' 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

Apenas salve-o como .vbsarquivo e execute-o. Então, pela primeira vez, o Skype perguntará sobre a permissão para conectar a API do Skype; basta clicar em OK. Depois disso, ele criará uma pasta chamada SkypeChatHistorye alguns arquivos nela, que devem ter seu histórico de bate-papo.


11
Obrigado. Infelizmente ele não funciona para mim :-( Ele mostra "Não foi possível localizar nomes de classe de automação 'Skype4COM.skype'" erro eu vou tentar descobrir como fazê-lo funcionar..
Peter Štibraný

11
Estou trabalhando ... Precisava instalar o Skype4COM em developer.skype.com/Download (usando o arquivo regsvr32.exe Skype4COM.dll em cmdline) e, em seguida, execute o script novamente.
27678 Peter Štibraný

Acontece que usar a API do Skype para obter o histórico de bate-papo é bastante fácil. Obrigado por me apontar na direção correta.
Peter Štibraný

11
Lembro-me de ter usado uma vez e funcionou naquele momento. Agora ele me dá esse erro i53.tinypic.com/zmd3lf.png
IsmailS

11
O download mudou-se para aqui: developer.skype.com/accessories
sjbotha

10

Existe o Skype Historian , ele pode exportar para texto sem formatação, json, csv e xml; também capaz de agrupar dados.

A partir de 2013, funcionou para mim imediatamente (meu skype é 6.0.0.126). No entanto, seu sucessor parece ser o skyninja de código aberto , que eu ainda não tentei.

Requisitos do sistema: Windows 7 / Windows XP com .NET Framework 3.5

opções de exportação

Encontrei o link para este projeto no blog na resposta da harrymc.


Não parece haver nenhuma compilação do skype-ninja disponível.
lkraav

@lkraav parece haver uma versão 20150318 v0.1 do skyninja. requer dotnet 4.5
n611x007

3

essa é a razão pela qual ainda estou usando o Skype 3.

o que eles estavam pensando quando removeram o comando / htmlhistory ???

no Skype 4, receio que as únicas opções sejam programas especiais, como o Pamela para Skype (a gravação de bate-papo não está disponível na versão gratuita).

quanto ao backup e restauração do histórico de bate-papo, isso é bastante fácil:

Localize a pasta Application Data \ Skype \ (seu nome de usuário) e copie-a para outro local, como um CD ou DVD-ROM.

Para restaurar os arquivos de histórico, basta copiar os arquivos de volta para essa pasta.


3

Respostas rápidas

  1. É possível exportar o histórico de bate-papo do Skype v4 (.txt, .xml, .html)?
    Sim, é com programas como o Skyperious [ 1 ] , escritos em phyton e código aberto, ou mais diretamente com cada programa que permite ler o sqlite3formato do banco de dados [ 3 ] (veja detalhes abaixo).

  2. Como alternativa, é possível fazer backup / restaurar o histórico de bate-papo do skype?
    Sim, é [ 2 ] . O histórico de bate-papo é salvo em um arquivo de banco de dados, o main.dbarquivo.
    Você pode fazer backup e restaurar o main.dbarquivo. quando você precisar / quiser.


Algumas palavras mais prestes a exportar em um formato utilizável por humanos:

  • Não é o caso de reinventar o weel. :-) Existem muitos programas desenvolvidos para isso.
    Gostaria de sugerir o Skyperious [ 1 ] , escrito em python, disponível para download como código-fonte e na versão binária do Windows para que ele possa funcionar em cada sistema operacional .
    É capaz de exportar em html, txtou csv.
    Esta linha de comando para Linux criará um arquivo html para o outro parceiro de bate-papo em um subdiretório:

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

    Para Windows, existe o arquivo em lote análogo skyperious.bat. Html com um bom formato.

  • Para ser honesto, você não precisa de um programa de terceira parte : mas você pode fazer alguns exercícios com um banco de dados.
    O bate-papo está dentro do arquivo main.db [ 2 ] . esse é um banco de dados sqlite3 [ 3 ], [ 4 ] .
    Com sqlite3ou com qualquer outra ferramenta gráfica ou não, você pode fazer uma consulta como

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

    (em apenas uma linha e com o nome de usuário skype das segundas pessoas em vez de <OTHER_SKYPENAME>)

    Observe que é possível para SELECTcada coluna do banco de dados em que você está interessado.
    Com uma GUI como sqliteman [ 3b ] , pode ser mais simples: você pode selecionar a coluna de forma gráfica e, em seguida, colocar um filtro no valor de um campo ... e comporá novamente uma linha como

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

    insira a descrição da imagem aqui


Algumas palavras mais sobre backup / restauração

É possível fazer backup / restaurar o arquivo de bate-papo diretamente [ 2 ] .

Todo o histórico de bate-papo é salvo em um arquivo de banco de dados, o arquivo main.db.
Se você fizer cópias regulares desse arquivo, sempre será possível restaurar o histórico de bate-papo.
Verifique se o Skype não está sendo executado no computador.

Você só precisa descobrir onde está armazenado no seu computador:

  • No Windows, é relatado que [ 2b ] está dentro %appdata%\Skype\YourSkypeName, onde geralmente %appdata%\Skypeé traduzido para:C:\Users\YourUserName\AppData\Roaming\Skype
  • No Linux, em vez disso, está abaixo /home/LinuxUsername/.Skype/SkypeUserName/
    ou em breve ~/.Skype/SkypeUserName/.
  • No Mac deve estar sob ~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/

11
Concordo que github.com/suurjaak/Skyperious é a melhor ferramenta disponível. Ele ainda pode criar estatísticas de seus bate-papos, por exemplo, mensagens por usuário, emoticons por usuário, palavras mais usadas em um bate-papo etc.
Asmaier

3

Se você deseja a maneira mais fácil de exportar seu histórico para um formato legível, seria skypebrowser.com , que pode ler seu main.dbarquivo.

Mas como é um serviço de terceiros, obviamente você deve pensar duas vezes antes de usá-lo, se tiver algum dado confidencial em seus bate-papos. Nesse caso, sua única opção segura é um navegador SQLite (você precisará da messagestabela).


1

O plug - in Skype G-Recorder funciona muito bem para eu fazer backup de bate-papos.


Descobri que, mas não funcionou para mim :-(
Peter Štibraný

@ Peter: Eu sou co-autor do G-Recorder, você relatou seu problema com o item de menu "Informar um problema"? Pelo menos só para verificar como nossa equipe de suporte funciona :)
Andriy Tylychko


1

Você apenas precisa ir para a pasta principal do usuário, como no win7: C: \ Users [seu_usuário] \ AppData \ Roaming \ Skype

Lembre-se de que a pasta "AppData" está oculta; portanto, pode ser necessário selecionar a opção para mostrar as pastas ocultas.

Em seguida, encontre a pasta com o nome de usuário da sua conta do Skype e copie-a para o novo PC ... todos os seus ícones de bate-papo e contatos e etc. serão copiados para o novo computador.


1

Basta abrir uma nova janela de bate-papo com o contato para quem você deseja salvar o histórico de bate-papo. Digite "/ history" (sem as aspas) na janela de bate-papo. Depois que o histórico for preenchido, selecione / destaque uma parte do texto com o cursor do mouse. Em seguida, (no Windows), pressione " Ctrl+ A" no teclado. Quando tudo estiver destacado, pressione " Ctrl+ C". Abra o Microsoft Word (ou um software de processamento de texto semelhante, como o OpenOffice.org Writer) e pressione " Ctrl+ V" no teclado. Salve o arquivo no seu disco rígido ou unidade USB e pronto: Você tem um registro completo do seu histórico de bate-papo.


0

Software que permite gravar chamadas e armazenar chamadas gravadas / histórico de bate-papo / transferências de arquivos para o seu e-mail - http://skype2email.com

O Skype2email é um programa comercial com uma avaliação gratuita de 14 dias.
Disclaimer: Eu trabalhei neste programa.


Oi Mehal. Eu tentei o seu programa, mas ele falha quando inicio. Se você me disser para onde procurar ou o que enviar, tentarei mais.
Peter Štibraný


0

Há uma opção para exportar o histórico do Skype em CSV etc. da página da sua conta no Skype.com .


7
Você poderia escrever onde exatamente eu posso encontrá-lo? Olhei toda conta Skype, mas não encontrá-lo em qualquer lugar :-(
Peter Štibraný

11
Para não mencionar o quão assustador é isso
lkraav

0

Acho que existe uma maneira mais elegante de salvar suas conversas e chamadas e enviá-las por email. Por exemplo, o uso do Skype Recorder permite salvar tudo no armazenamento online, além de adicionar funções como pesquisa de texto completo, reproduzir chamadas online e muitos outros recursos interessantes. Eu acho que realmente irá ajudá-lo com o seu problema.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.