2009-12-07 44 views
28

我想讀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

回答

21

你也可以看看Skype的檔案數據庫(%USERDIR%\應用數據\ Skype的\%您的配置文件名稱%\ main.db),這基本上是SQLite的數據庫,看看你能從中得到什麼。如果您使用的的Windows 8及以上路徑是%USERDIR%\應用程序數據\本地\包\ Microsoft.SkypeApp \ Localstate \%your_skype_profile_name%\ main.db

我給你一個關於命中表:

  • 「對話」 - 對話
  • 「消息」鏈接通過convo_id場「對話」
  • 「聊天」 - 保存的聊天記錄列表,每個聊天是由對話
  • 「聊天成員」 - 聊天成員

表格很寬,某些字段的用法並不那麼明顯,但我認爲你明白了。

2

我有同樣的問題與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並查看結果。

7

我推薦兩種方法可以做到這一點:

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的使用經驗來使用這個選項。

15

現在來吧,這是Stackoverflow,讓我們來看看技術吧?讓我們放棄幼稚的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日」等標籤