读Skype的消息归档

问题描述:

我想读Skype的应用程序之外我的Skype消息归档。并且能够以某种方式导出它(除了从我的消息中复制粘贴),我只能提供30天或档案。读Skype的消息归档

中的任何一个有使用用于归档的应用程序/出口的Skype消息?

+1

你会发现这个Skype的附加有益分离的逻辑时间间隔:HTTP:/ /scand.com/products/skyhistory/index.html。 它有助于保存和存储Skype聊天记录在一个单独的闪存驱动器,它是免费的。 – SHM

+1

我发现软件SkypeLogR非常有用,如果你想快速导出所有聊天记录到文本文件。它将为主机上可用的所有帐户执行此操作。不需要Skype密码。 – jdevelop

+1

这是一个方便的小工具,可以解析所有平台上的Skype历史文件 - 实际的程序只能在Windows上运行):* [LogView官方主页](http://www.nirsoft.net/utils/ skype_log_view.html) – BastiBen

你也可以看看Skype的档案数据库(%USERDIR%\应用数据\ Skype的\%您的配置文件名称%\ main.db),这基本上是SQLite的数据库,看看你能从中得到什么。如果您使用的的Windows 8及以上路径是%USERDIR%\应用程序数据\本地\包\ Microsoft.SkypeApp \ Localstate \%your_skype_profile_name%\ main.db

我给你一个关于命中表:

  • “对话” - 对话
  • “消息”链接通过convo_id场“对话”
  • “聊天” - 保存的聊天记录列表,每个聊天是由对话
  • “聊天成员” - 聊天成员

表格很宽,某些字段的用法并不那么明显,但我认为你明白了。

检查了这一点:http://web.archive.org/web/20061019071406/https://developer.skype.com/Docs/ApiDoc/CHAT_object

CHATMESSAGES - list of chatmessage identifiers 
CHATMESSAGES - all messages IDs in this chat, for example CHAT #test_l/$6a072ce5537c4044 CHATMESSAGES 34, 35, 36, 38, 39 
+0

该链接已损坏。 Skype是否还有API? –

我有同样的问题与Skype的历史, 每一个身体正在寻求解决这些历史玩的原因有很多。 我想与你分享我的经验,因为我不是专家,但这可能有助于某人。

无论你是否有台式机或智能设备,Main.db文件是Skype的历史的核心,它的SQL 3文件。

如何获得它?????????????????

1.桌面:

  1. 关闭Skype和查找文件Main.db在C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id](详情请参阅本作的Win7,XP的和其他人,你必须找到该文件)。

  2. 在其他驱动器上备份该文件。

  3. 使用SQLite的一样或SQLite的专家或其他任何SQL软件打开该文件作为数据库。

  4. 在数据菜单,你可以看到像短信,电话,交谈,所以很多细节程序的左边所有信息的历史。

  5. 你会发现在消息传出和传入IM消息。

  6. 点击右键,去选择列,然后选择像ID用户名身体XML消息文本和时间戳兴趣的列。

  7. 您可以通过勾选必填字段缩短选择范围。

  8. 点击右键,选择文本编辑,然后你可以做任何你需要的,添加删除等等所选字段。

  9. 您不需要保存任何内容,因为它会自动保存。

  10. 其使用的不同类型的日期格式的时间步长,比如你发现时间戳1261610607的日期时间23/12/2009 18:23非常重要,

    所以你怎么能调整时间?

    只需打开一个Excel工作表并粘贴公式:

    =IF(H6="","",(H6/86400)+25569+(-5/24))

    ,这一切。

  11. 现在重新打开它,然后查看聊天记录。

2.对于智能设备(新iPad为例):(你必须使用台式机或笔记本的帮助:

  1. 下载并为iPad或其他一些浏览器软件安装IEXPLORER。

  2. 连接你的设备,你会看到大部分的文件。

  3. 选择APPs/Skype/Library/App Support/Skype/[your Skype ID]

  4. 通过单击右键并导出文件将文件发送到您的桌面。

  5. 重复上面的步骤,如2-11所示,就像Desktop程序一样。

  6. 编辑完成后关闭数据库,从iExplorer指向您的Skype用户,并选择Add File,浏览到修改后的文件并将其重新发送到iPad。

  7. 启动Skype并查看结果。

我推荐两种方法可以做到这一点:

A. 最简单的方法是使用Skyperious。适用于Windows,Linux和Mac。你可以做到这一切

enter image description here

这是搜索功能:

enter image description here

这里是从出口输出示例:

enter image description here

B. 更难,但自然更灵活的方式,是插入高大的SQLite浏览器,如this one,并自己导出消息​​。您可以通过查看this article来查看有关如何执行此操作的信息,或者也可以搜索其他类似文章(AlexS' answer also provides clues)。你将需要一些SQL的使用经验来使用这个选项。

现在来吧,这是*,让我们来看看技术吧?让我们放弃幼稚的jpegs,gui工具和电子表格伪代码,找到问题的核心!

[拳头凹凸]

来源:https://coolaj86.com/articles/searching-skypes-sqlite-database/

找到你的Skype DB

首先,你必须要找到你的用户的正确Skype的DB:

ls ~/Library/Application\ Support/Skype/ 

sqlite3 ~/Library/Application\ Support/Skype/<<YOUR_USER_NAME>>/main.db 

了解他们桌子好!

你要看看现有的表及其说明:

.tables   " see the short table list 
.schema Contacts " all about the Contacts table 
.schema Messages " all about the Messages table 

您可能会需要使用好醇” ctrl+f输出搜索之类的东西timeauthorusername

潜入SQLS

然后你gotsta潜入SQLS ...

" List the 25 most recently contacted contacts 
SELECT skypename, lastused_timestamp FROM Contacts ORDER BY lastused_timestamp DESC LIMIT 25; 

" List the 100 most recent messages 
SELECT id, convo_id, timestamp, type, author, body_xml FROM Messages ORDER BY timestamp DESC LIMIT 100; 

" List the 100 most recent conversations (and all participants) 
SELECT last_activity_timestamp, identity, type, given_displayname, displayname FROM Conversations ORDER BY last_activity_timestamp DESC LIMIT 100; 

" Search for a message with the text 'home' 
SELECT author, body_xml FROM Messages WHERE body_xml LIKE '%HOME%' ORDER BY timestamp ASC; 

" Search for a contact named 'john' 
SELECT (displayname || ' : ' || skypename || ' : ' || fullname) as names FROM Contacts WHERE names LIKE '%JOHN%' ORDER BY lastused_timestamp ASC; 

(附注注释是用”,而不是一个#)

注意

  • Messages指的是一行文字,例如“What's up?”
  • Conversations是指2个或更多方之间的消息集合。
  • 我认为Chats指的是与像“昨天”,“7天前”,“3月24日”等标签