有没有一种方法可以访问Skype即时消息记录?

12

我尝试查看C:\Users\[用户名]\AppData\Roaming\Skype,发现了一个名为“ chatsync”的文件夹,其中有一些以.dat结尾的神秘文件夹。我几乎可以确定这些是聊天记录,但我不知道如何正确地打开这些文件(记事本显示的是混杂着英语单词的乱码)。我不是在进行侦探工作,只是为我的女朋友做一个项目。

更重要的是:我该如何正确读取Skype的.dat文件?

5个回答

22

有一个新的、很棒的应用程序Skyperious; Skyperious可以:

  • 打开本地Skype SQLite数据库并查看其内容:
  • 在所有消息和联系人中搜索
  • 浏览、过滤和导出聊天记录,查看聊天统计信息
  • 查看任何数据库表格并导出它们的数据
  • 更改、添加或删除任何表格中的数据
  • 执行直接SQL查询

3
两年零一天后,人们仍然来帮助我。 - eternalmatt
+1:该应用程序满足了隐含的要求,即解析日志并将其推送到一个视图中,该视图实际上比Skype的本机界面更清洁和更具功能性(按时间段过滤等)。请注意,除非显式以管理员身份运行,否则Windows安装程序会默默失败。 - Barney
这对我有用,但我只能下载最近6个月的记录,尽管在Skype本身中看到了近2年的记录。此外,它要求输入密码,然后无法登录Skype,这让我很紧张。 - Will Strohl
Skyperious是一个漂亮的应用程序,您可以从时间开始查看聊天记录。您可以在“聊天”选项卡的右侧面板中更改其时间段过滤器。我可以看到我超过3年的整个聊天历史记录。您还可以将其导出为HTML文件。它仅要求输入密码才能从Skype服务器下载共享图像。如果您怀疑可能不需要密码,请仍然可以查看您的聊天历史记录。 - palash
刚刚下载并安装了,但似乎在文件中找不到任何数据。是Skype的新数据库格式或者错误的数据库文件(%AppData%/Local/Packages/Microsoft.SkypeApp_<gibberish>_/LocalState/<gibberish>_<skypeusername>.db)? - Titus

8

-1:程序按要求读取日志文件,但返回的格式毫无用处(一个长的可排序的细粒度条目列表),任何.dat阅读器几乎都没什么用。Roman的答案 (Skyperious) 实际上提供了一个有用的视图和导航工具。 - Barney
那是专有的。 - polkovnikov.ph

2
您还可以安装Windows版SQLite。消息将作为SQLite数据库存储(数据库中存在多个表格 - '消息'表格保存聊天消息)。

这个必须是首选答案。 - polkovnikov.ph

1
我知道这是一个相当老的帖子,但我想添加一些额外的信息。
我不太喜欢NirSoft Skype Log View导出聊天记录的方式,所以我为此编写了自己的解析器(仅出于兴趣),但我有点懒得将其添加到任何源代码控制机制中,这可能看起来有些尴尬,但没关系。

http://www.mediafire.com/download/yp0r3r5c686ecrk/SkypeMessageParser.zip

我已经包含了JAR文件和源代码。
它需要Skype Log View的文本文件导出(由以下命令创建)。
SkypeLogView.exe /SaveDirect /UseTimeRange 0 /logsfolder "C:\Users\username\AppData\Roaming\Skype\skypeusername" /stext "C:\Root\Downloads\skypelogview\log.txt"

它的数据格式如下所示:

==================================================

Record Number     : 110

Action Type       : Chat Message

Action Time       : 2012.06.04. 22:31:08

End Time          : 

User Name         : l__i

Display Name      : N___L

Duration          : 

Chat Message      : messagegoeshere

ChatID            : #skypeid/$hashcode

Filename          : 

==================================================

并将其转换为这个:
[2012.06.04. 22:31:08] l_i (N___L): messagegoeshere

它还会获取聊天ID并根据此将日志切割成多个文件,以避免聊天混在一起。
例如,
  2012-06-05--l__i-z_n.txt (where the date is the date of the first message).

使用方法:

java -jar SkypeMessageParser.jar [path of exported TXT file from SkypeLogViewer] [absolute path of output TXT file]

我希望有人会发现这个有用!:)
注意:程序期望系统日期格式为"yyyy.MM.dd",如果您的格式是"dd/MM/yyyy",程序将崩溃。

请注意,此程序依赖于使用形式为yyyy.MM.dd的日期格式,根据系统设置,因为我使用了极其简单的字符串操作。 - EpicPandaForce

0
据我所知,除了使用工具之外,没有其他方法可以打开这些文件。我一直使用这个工具来阅读它们:

http://www.osiwanlan.de/skypr/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接