读取 Skype 消息存档

发布于 2024-08-13 16:37:28 字数 1827 浏览 5 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

静谧幽蓝 2024-08-20 16:37:28

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

我'将为您提供有关表格的点击:

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

表格相当宽,某些字段的用法并不那么明显,但我想您已经明白了。

You can also look at skype's profile database (%USERDIR%\Application Data\Skype\%your profile name%\main.db) which is basically SQLite database and see what you can get from it. If you are using Windows 8 and above the path is %USERDIR%\AppData\Local\Packages\Microsoft.SkypeApp\Localstate\ %your_skype_profile_name%\main.db

I'll give you a hit about tables:

  • "Conversations" - a conversation
  • "Messages" linked to "Conversations" via convo_id field
  • "Chats" - a list of saved chats, each chat is composed of conversations
  • "ChatMembers" - members of chat(s)

The tables are quite wide and usage of some fields is not that obvious, but I think you get the idea.

追星践月 2024-08-20 16:37:28

来吧,这里是 Stackoverflow,让我们来了解一下技术,好吗?让我们抛开幼稚的 jpeg、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

了解它们 表 好!

您需要查看可用的表格及其描述:

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

您可能需要使用好用的 ctrl+f 在输出中搜索诸如 time 之类的内容作者用户名

深入研究 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;

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

请注意

  • Messages 指的是一行文本,例如“What's up?”
  • < code>Conversations 指的是 2 个或更多方之间的消息集合,
  • 我认为 Chats 指的是用“昨天”、“7 天前”、“等标签分隔的逻辑时间间隔。 3月24日'等

C'mon now, this is Stackoverflow, let's get technical, shall we? Let's put away childish jpegs, gui tools, and spreadsheet psuedocode and get to the heart of the problem!

[fist bump]

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

Find your Skype DB

First you've got to find the correct skype db for your user:

ls ~/Library/Application\ Support/Skype/

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

Learn them Tables Good!

You'll want to take a look at the available tables, and their descriptions:

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

You'll probably need to use the good ol' ctrl+f to search in the output for things like time, author, and username.

Dive into the SQLs

Then you gotsta dive into the 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;

(note comments are with a ", not a #)

Note that

  • Messages refers to a line of text such as "What's up?"
  • Conversations refers to a collection of Messages between 2 or more parties.
  • I think Chats refers to the logical time gaps separated with labels like 'yesterday', '7 days ago', 'March 24th', etc
乖乖兔^ω^ 2024-08-20 16:37:28

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

A. 最简单的方法是使用 Skyperious 。适用于 Windows、Linux 和 Mac。您可以执行所有这些

在此处输入图像描述

这是搜索功能:

在此处输入图像描述

以下是导出的示例输出:

在此处输入图像描述

B. 更困难但自然更灵活的方法是安装 SQLite 浏览器,例如 这个,然后自己导出消息​​。您可以通过查看 这篇文章,或者你也可以搜索其他类似的文章(AlexS的回答也提供了线索) 。您需要一些 SQL 经验才能使用此选项。

I recommend two ways to do this:

A. Easiest way is to use Skyperious. Available for Windows, Linux and Mac. You can do all this

enter image description here

This is the search function:

enter image description here

And here is sample output from an export:

enter image description here

B. The harder, but naturally more flexible way, is to install a SQLite Browser, such as this one, and export the messages yourself. You can see some information on how to do that by looking at this article, or you could also search for other similar articles (AlexS' answer also provides clues). You will need some experience with SQL to use this option.

蹲在坟头点根烟 2024-08-20 16:37:28

看看这个: 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 

Check this out: 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 
め七分饶幸 2024-08-20 16:37:28

我的 Skype 历史记录也有同样的问题,
出于多种原因,每个人都希望利用这些历史。
我想与您分享我的经验,因为我不是专家,但这可能会对某人有所帮助。

无论您有台式机还是智能设备,Main.db 文件都是 Skype History 的核心,它是 SqL 3 文件。

怎么获得?????????????

1.桌面:

  1. 关闭 Skype 并在 C:/Users/[您的计算机用户名]/App Data/Roaming/Skype/[您的 Skype Id] 中找到文件 Main.db (对于 Win7,请查看此内容,对于 XP 和其他系统,您必须找到该文件)。

  2. 在其他驱动器上对此文件进行备份。

  3. 使用任何 sql 软件(如 SQLite 或 SQLite Expert 或其他)将文件作为数据库打开。

    使用

  4. 在“数据”菜单中,您可以在程序左侧查看历史记录的所有信息,例如消息、通话、对话以及许多详细信息。

  5. 您将在消息中找到发出和传入的 IM 消息。

  6. 单击右侧并转到选择列,然后选择感兴趣的列,例如 ID 用户名 body-xml 作为消息文本和时间戳。

    单击右侧并转到选择列,

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

  8. 单击右键并选择文本编辑,然后您可以对所选字段执行任何您需要的操作,添加删除等。

    单击右侧并选择文本编辑,然后

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

  10. 对于时间步非常重要,它使用不同类型的日期格式,例如您发现日期时间 23/12/2009 18:23 的时间戳 1261610607,

    那么如何调整时间呢?

    您只需打开 Excel 工作表并粘贴方程式即可:

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

    仅此而已。

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

2.对于智能设备(以 iPad 为例):(您必须使用台式机或笔记本电脑以获得帮助:

  1. 下载并安装 iExplorer for iPad 或其他浏览软件。

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

  3. 选择APPs/Skype/Library/App 支持/Skype/[您的 Skype ID]

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

    单击

  5. 像桌面程序一样,重复上述步骤 2 - 11。

    重复上述步骤

  6. 完成编辑后,关闭数据库,然后从 iExplorer 指向您的 Skype 用户并选择添加文件,浏览到修改后的文件并发送。 。

  7. 启动 Skype 并查看结果。

I had the same problem with Skype history,
Every body is looking to play around these history for many reasons.
I would like to share my experience with you, since I'm not expert but this may help somebody.

Whether you have desktop or smart device, Main.db file is the core of the skype History, it's SqL 3 file.

How to get it?????????????????

1. Desktop:

  1. close the Skype and Find the file Main.db at C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id] (please review this for Win7, and for XP and others you have to find the file).

  2. Make backup for this file at other drive.

  3. use any sql software like SQLite or SQLite Expert or other to open the file as database.

  4. at the Data menu you can see all your information for the history in the left of the program like messages, calls, conversations, and so many details.

  5. you will find the outgoing and incoming IM message in messages.

  6. click right and go to select column and select the columns of interest like ID user name body-xml for the message text and timestamp.

  7. you can shorten your selection with tick the required fields.

  8. Click right and select text edit and then you can do whatever you need, add delete, etc. for the selected field.

  9. you don't need to save anything because it's automatically saved.

  10. very important for time step that it uses different kind of date format, for example you find the timestamp 1261610607 for the date time 23/12/2009 18:23,

    so how can you adjust the time?

    you can simply open an Excel sheet and paste the equation:

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

    and that's all.

  11. Now reopen it again then, see the history of the chat.

2. For Smart devices (Ipad as example):(you have to use desktop or laptop for assistance:

  1. Download and install iExplorer for iPad or some other browsing software.

  2. Connect your device and you will see most of your files.

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

  4. Send the file to your desktop by click right and export file.

  5. repeat the steps as shown above from 2 - 11 like for Desktop procedures.

  6. After finishing the editing close the database and from iExplorer point to your Skype user and select Add File, browse to the modified file and send it again to the iPad.

  7. Start Skype and see the results.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文