【问题标题】:Read skype message archive阅读 Skype 消息存档
【发布时间】:2010-12-23 23:08:21
【问题描述】:

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

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

【问题讨论】:

  • 这是一个方便的小实用程序,允许解析历史文件(所有平台上的 Skype - 但实际程序仅在 Windows 上运行):* LogView Official Homepage
  • 您可能会发现这个 Skype 插件很有帮助:scand.com/products/skyhistory/index.html。它有助于在单独的闪存驱动器上保存和存储 Skype 聊天记录,而且是免费的。
  • 我发现 skypelogr.com/">SkypeLogR</a> 软件如果想快速将所有聊天记录导出到文本文件中非常有用。它会为主机上的所有可用帐户执行此操作。 '不需要 Skype 密码。
  • 现在有一个用于查看和导出 Skype main.db 文件的 Web 服务:skypebrowser.com

标签: message archive skype


【解决方案1】:

您还可以查看 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 字段链接到“对话”
  • “聊天” - 保存的聊天列表,每个聊天由对话组成
  • “ChatMembers” - 聊天成员

表格很宽,有些字段的用法不是很明显,但我想你明白了。

【讨论】:

    【解决方案2】:

    现在来吧,这是 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 在输出中搜索timeauthorusername 等内容。

    深入了解 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;
    

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

    注意

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

    【讨论】:

      【解决方案3】:

      我推荐两种方法:

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

      这是搜索功能:

      这是导出的示例输出:

      B. 更难但自然更灵活的方法是安装 SQLite 浏览器,例如this one,然后自己导出消息​​。您可以通过查看this article 来查看有关如何执行此操作的一些信息,或者您也可以搜索其他类似的文章(AlexS' answer also provides clues)。您需要具备一些 SQL 经验才能使用此选项。

      【讨论】:

        【解决方案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 
        

        【讨论】:

        • 该链接已损坏。 Skype 还有 API 吗?
        【解决方案5】:

        我在 Skype 历史记录方面遇到了同样的问题, 出于多种原因,每个人都希望围绕这些历史进行游戏。 我想与您分享我的经验,因为我不是专家,但这可能会对某人有所帮助。

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

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

        1.桌面:

        1. 关闭 Skype 并在 C:/Users/[your computer username]/App Data/Roaming/Skype/[your Skype Id] 找到文件 Main.db(请在 Win7 上查看此文件,对于 XP 和其他系统,您必须找到该文件)。

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

        3. 使用 SQLite 或 SQLite Expert 等任何 sql 软件将文件作为数据库打开。

        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 Support/Skype/[your Skype ID]

        4. 点击右键导出文件,将文件发送到桌面。

        5. 像桌面程序一样重复上面 2 到 11 所示的步骤。

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

        7. 启动 Skype 并查看结果。

        【讨论】:

        • 几年后,我正在努力解决这个确切的问题(时间戳的格式很奇怪)。不过对我来说不幸的是,无论传入的时间戳是什么,您在 Excel 中提供的公式总是给出10/31/13 13:09 的结果。
        猜你喜欢
        • 2017-11-14
        • 2015-07-02
        • 2013-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多