我想在Skype应用程序之外阅读我的Skype消息存档。并且能够以某种方式导出它(除了从我的消息中复制粘贴它),因为我可以认为skype只提供30天或档案。
有没有人使用应用程序存档/导出Skype消息?
答案 0 :(得分:21)
您还可以查看skype的个人资料数据库(%USERDIR%\ Application Data \ Skype \%您的个人资料名称%\ main.db ),它基本上是SQLite数据库,看看您可以从中获取什么它。如果您使用 Windows 8及更高版本,则路径为%USERDIR%\ AppData \ Local \ Packages \ Microsoft.SkypeApp \ Localstate \%your_skype_profile_name%\ main.db
我会给你一个表格:
这些表非常广泛,某些字段的使用并不那么明显,但我认为你明白这一点。
答案 1 :(得分:15)
[拳头撞击]
来源:https://coolaj86.com/articles/searching-skypes-sqlite-database/
首先,您必须为您的用户找到正确的skype数据库:
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
你可能需要使用好的ol&#39; ctrl+f
在输出中搜索time
,author
和username
等内容。
然后你深入研究了SQL ...
" 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;
(注意评论是&#34;而不是#)
请注意
Messages
指的是一行文字,例如&#34;内容是什么?&#34; Conversations
是指2个或更多方之间的消息集合。Chats
是指与标签分开的逻辑时间间隔,例如&#39;昨天&#39; 7天前&#39;,&#39; 3月24日&#39;,等答案 2 :(得分:7)
我建议采用两种方法:
一个。 最简单的方法是使用Skyperious 。适用于Windows,Linux和Mac。你可以做到这一切
这是搜索功能:
以下是导出的示例输出:
B中。 更难,但自然更灵活的方式是安装SQLite浏览器,例如this one,并自行导出邮件。您可以通过查看this article查看有关如何执行此操作的一些信息,或者您还可以搜索其他类似文章(AlexS' answer also provides clues)。您将需要一些使用SQL的经验来使用此选项。
答案 3 :(得分:4)
检查出来: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
答案 4 :(得分:2)
我遇到了与Skype历史相同的问题, 由于种种原因,每个人都在寻找这些历史。 我想与你分享我的经验,因为我不是专家,但这可能对某人有帮助。
无论您是桌面设备还是智能设备,Main.db文件都是Skype历史记录的核心,它是SqL 3文件。
如何得到它???????????????????
<强> 1。桌面:强>
关闭Skype并在C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id]
找到文件Main.db(请查看Win7的这个,对于XP和其他人,你必须找到该文件)。
在其他驱动器上备份此文件。
使用SQLite或SQLite Expert等其他sql软件将文件作为数据库打开。
在数据菜单中,您可以看到程序左侧历史记录的所有信息,如消息,来电,对话等等。
您将在消息中找到传出和传入的IM消息。
单击右键,然后转到选择列,并选择感兴趣的列,如ID用户名body-xml,用于消息文本和时间戳。
您可以勾选必填字段来缩短您的选择。
单击右键并选择文本编辑,然后您可以执行所需的任何操作,为所选字段添加删除等。
您无需保存任何内容,因为它会自动保存。
对于使用不同类型的日期格式的时间步骤非常重要,例如,您可以找到日期时间2312/2009 18:23的时间戳1261610607,
所以你如何调整时间?
您只需打开Excel工作表并粘贴等式:
=IF(H6="","",(H6/86400)+25569+(-5/24))
就是这样。
现在重新打开它,然后查看聊天记录。
<强> 2。对于智能设备(例如Ipad):(您必须使用台式机或笔记本电脑寻求帮助:
下载并安装iExplorer for iPad或其他一些浏览软件。
连接您的设备,您将看到大部分文件。
选择APPs/Skype/Library/App Support/Skype/[your Skype ID]
。
点击右键并导出文件,将文件发送到桌面。
重复上述步骤,如2-11所示,与桌面程序类似。
完成编辑后关闭数据库并从iExplorer指向您的Skype用户并选择Add File
,浏览到修改后的文件并再次发送到iPad。
启动Skype并查看结果。