Answers:
请参阅此处显示的脚本:保存Skype聊天记录。
这是代码:
' 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
只需将其另存为.vbs
文件并运行即可。然后在第一次时,Skype会询问您有关连接Skype API的权限,因此只需单击“确定”即可。之后,它将创建一个名为的文件夹SkypeChatHistory
,其中应包含您的聊天记录的一些文件。
有Skype Historian,它可以导出为纯文本,json,csv和xml;也能够对数据进行分组。
截至2013年,它为我开箱即用(我的skype是6.0.0.126
)。但是,它的继任者似乎是开源的 skyninja,我还没有尝试过。
系统要求:Windows 7 / Windows XP和.NET Framework 3.5
在harrymc的答案中的博客上找到了该项目的链接。
这就是为什么我仍在使用Skype 3的原因。
当他们删除/ htmlhistory命令时,他们在想什么???
使用Skype 4时,恐怕唯一的选择是商业程序,例如Skype的Pamela(免费版本中没有聊天记录)。
至于备份和还原聊天记录,这很简单:
找到文件夹Application Data \ Skype \(您的用户名)并将其复制到其他位置,例如CD或DVD-ROM。
要恢复历史记录文件,只需将文件复制回该文件夹。
快速解答
是否可以导出Skype v4聊天记录(.txt,.xml,.html)?
是的,它是 使用phyton和开放源代码编写的诸如Skyperious [ 1 ]之类的程序,或更直接地使用允许读取sqlite3
数据库格式 [ 3 ]的每个程序(有关详细信息,请参见下文)。
另外,是否可以备份/还原Skype聊天记录?
是的,它是 [ 2 ]。聊天记录保存在一个数据库main.db
文件中。
您可以备份和还原main.db
文件。当您需要/想要时。
还有一些要以人类可用格式导出的词:
重塑焊缝并非如此 :-)
,为此开发了许多程序。
我想建议以Python编写的Skyperious [ 1 ],可以将其下载为源代码,也可以以Windows的二进制版本下载,以便它可以在每个操作系统下工作。
它是能够出口的html
,txt
或csv
。
Linux的以下命令行将在子目录中为每个聊天伙伴创建一个html文件:
./skyperious.sh export ~/.Skype/SKYPE_USERNAME/main.db -t html
对于Windows,有类似的批处理文件skyperious.bat
。HTML格式不错。
老实说,您不需要第3部分程序:但您可以使用数据库进行一些锻炼。
聊天位于文件main.db
[ 2 ]中。那是一个sqlite3数据库[ 3 ],[ 4 ]。
使用sqlite3
或与任何其他图形工具或非图形工具一起使用,您可以进行查询,例如
sqlite3 main.db "SELECT author,timestamp, body_xml
FROM messages WHERE dialog_partner = '<OTHER_SKYPENAME>'" > My_file.txt
(仅在一行中使用第二人称的Skype用户名代替<OTHER_SKYPENAME>
)
请注意,您可能会对SELECT
数据库的每一列感兴趣。
使用sqliteman [ 3b ]这样的GUI 可以更简单,您可以以图形方式选择该列,然后在一个字段...它将再次组成一行
SELECT author, timestamp, body_xml FROM "main"."messages" WHERE dialog_partner = 'SKYPE NAME of 2nd USER';
有关备份/还原的更多信息
可以直接备份/恢复聊天文件[ 2 ]。
所有聊天记录都保存在一个数据库文件main.db文件中。
如果您对此文件进行常规复制,则始终可以恢复聊天记录。
确保Skype没有在计算机上运行。
您只需找到它在计算机上的存储位置:
%appdata%\Skype\YourSkypeName
,通常%appdata%\Skype
翻译为:C:\Users\YourUserName\AppData\Roaming\Skype
/home/LinuxUsername/.Skype/SkypeUserName/
~/.Skype/SkypeUserName/
。~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/
如果您想要将历史记录导出为可读格式的最简单方法,那就是skypebrowser.com,它可以读取您的main.db
文件。
但是由于它是第三方服务,因此如果您的聊天中有任何机密数据,显然您应该三思而后行。在这种情况下,唯一安全的选择是SQLite浏览器(您将需要该messages
表)。
Skype插件G-Recorder非常适合我备份聊天。
您可以使用它导出聊天记录数据:
该软件可以记录呼叫并将已记录的呼叫/聊天记录/文件传输存储到您的电子邮件-http: //skype2email.com
Skype2email是一项商业程序,具有14天的免费试用期。
免责声明:我从事此程序。
如果您只想将历史记录传输到另一台计算机,最简单的方法是在此处遵循Skype的建议:https : //support.skype.com/en/faq/FA10649/Can-I-transfer-my-chat从一台计算机到另一台计算机的历史记录?frompage = search&q = chat + history&fromSearchFirstPage = false。您要做的是将您的对话标记为“未读”,当您下次登录时,对话会转移到另一台计算机。
您可以从Skype.com的“帐户”页面以CSV等格式导出Skype历史记录。
我认为,有一种更优雅的方式来保存您的聊天和通话,然后将其发送到电子邮件。例如,使用Skype Recorder可以将其全部保存到在线存储中,以及添加诸如全文搜索,在线播放呼叫以及许多其他不错的功能之类的功能。我认为这确实可以帮助您解决问题。
此工具可以将您的Skype历史记录导出为HTML:
您可以在此处找到Win和Mac的可执行文件:
main.db
,并且可以使用python程序或直接使用能够读取数据库sqlite3的程序,进行查询或通过图形界面选项进行选择来导出聊天。 。我在下面的答案中写了更多细节。