阅读skype消息存档

Mik*_*ike 28 message skype archive

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

有没有人使用应用程序存档/导出Skype消息?

Ale*_*exS 21

您还可以查看skype的配置文件数据库(%USERDIR%\ Application Data\Skype \%您的配置文件名称%\ main.db),它基本上是SQLite数据库,并查看您可以从中获取的内容.如果您使用的是Windows 8及更高版本,则路径为%USERDIR%\ AppData\Local\Packages\Microsoft.SkypeApp\Localstate \%your_skype_profile_name%\ main.db

我会给你一个表格:

  • "对话" - 谈话
  • 通过convo_id字段链接到"对话"的"消息"
  • "聊天" - 保存的聊天列表,每个聊天都由对话组成
  • "ChatMembers" - 聊天成员

表格相当广泛,某些领域的使用并不那么明显,但我认为你明白了.


Coo*_*J86 15

来吧,这是Stackoverflow,让我们获得技术,是吗?让我们放弃幼稚的jpegs,gui工具和电子表格的伪代码,并找到问题的核心!

[拳头隆起]

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

找到您的Skype数据库

首先,您必须为您的用户找到正确的skype数据库:

ls ~/Library/Application\ Support/Skype/

sqlite3 ~/Library/Application\ Support/Skype/<<YOUR_USER_NAME>>/main.db
Run Code Online (Sandbox Code Playgroud)

了解他们表好!

您需要查看可用的表及其说明:

.tables          " see the short table list
.schema Contacts " all about the Contacts table
.schema Messages " all about the Messages table
Run Code Online (Sandbox Code Playgroud)

你可能需要使用好醇" ctrl+f的输出之类的搜索time,authorusername.

深入了解SQL

那你就深入研究了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;
Run Code Online (Sandbox Code Playgroud)

(注意注释带有",而不是#")

注意

  • Messages 是指一行文字,例如"什么事?"
  • Conversations 指2个或更多方之间的消息集合.
  • 我认为Chats是指用"昨天","7天前","3月24日"等标签分隔的逻辑时间间隔


Gai*_*aia 7

我建议使用两种方法:

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

在此输入图像描述

这是搜索功能:

在此输入图像描述

以下是导出的示例输出:

在此输入图像描述

B. 更难,但自然更灵活的方法是安装SQLite浏览器,例如这个,并自己导出消息​​.您可以通过查看本文来查看有关如何执行此操作的一些信息,或者您也可以搜索其他类似文章(AlexS的答案也提供了线索).您将需要一些使用SQL的经验来使用此选项.