ฉันจะส่งออกประวัติของ Skype ได้อย่างไร


31

เป็นไปได้หรือไม่ที่จะส่งออกประวัติการแชทของ Skype v4 ไปเป็นรูปแบบข้อความธรรมดาที่อ่านได้บ้าง?
( .txt, .xml, .html)

อีกวิธีหนึ่งก็สามารถสำรอง / กู้คืนประวัติการสนทนา skype ได้หรือไม่
(ฉันไม่สนใจการสำรองข้อมูล Gmail หรือรูปแบบข้อความธรรมดาที่อ่านได้)

ฉันพบเครื่องมือมากมายบนอินเทอร์เน็ตและลองใช้งานบางอย่าง แต่ดูเหมือนจะใช้งานไม่ได้


ทุกวันนี้มีความเป็นไปได้ที่จะสำรอง / กู้คืนการแชทเพียงแค่คัดลอกไฟล์main.dbและสามารถส่งออกการแชทด้วยโปรแกรมไพ ธ อนหรือโดยตรงกับโปรแกรมที่สามารถอ่านฐานข้อมูล sqlite3 ทำเคียวรีหรือเลือกผ่านตัวเลือกกราฟิกอินเตอร์เฟส . ฉันเขียนรายละเอียดเพิ่มเติมในคำตอบด้านล่าง
Hastur

คำตอบ:


11

ดูสคริปต์ที่นำเสนอนี้: บันทึก Skype ประวัติการแชท

นี่คือรหัส:

' Define global variables
Dim oFSO, chat_file, folder_to_save
' Directory where You want to save history (you can modify it)
' Now it is relative, so it will be created where Your *.vbs script runs
folder_to_save = "SkypeChatHistory"
line_count = 0

' Create FSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
set_next_free_dir()

' Connect to Skype API via COM
Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")
' Open skype, if it is not running
If Not oSkype.Client.IsRunning Then
oSkype.Client.Start()
End If

WScript.Echo "Skype history will be saved. Found " & oSkype.Chats.Count & " chat group."

' Iterate chats
For Each oChat In oSkype.Chats
names = ""
' First name is You, so it is unnecessary to keep
no_1st_flag = TRUE
For Each oUser In oChat.Members
If no_1st_flag Then
no_1st_flag = FALSE
Else
   names = names & "_" & oUser.FullName
End If
Next
get_file("chat" & names & ".txt")
chat_file.WriteLine(vbNewLine & "==== CHAT HISTORY (" & Replace(names, "_", "") & ") ====" & vbNewLine)
line_count = line_count + oChat.Messages.Count
' Fix by an anonymous commenter
If oChat.Messages.Count > 0 Then
For Each oMsg In oChat.Messages
' Fix by Vadim Kravchenko
On Error Resume Next
chat_file.WriteLine(oMsg.FromDisplayName & " (" & oMsg.Timestamp & "): " & oMsg.Body)
Next
End If
chat_file.Close
Next

WScript.Echo "Backup was finished (" & line_count & " line saved). You can find your chats in: ./" & folder_to_save

' Garbage collection
SET chat_file = NOTHING
SET folder_to_save = NOTHING
SET oFSO = NOTHING
SET oSkype = NOTHING

' Access to a file given by name
Sub get_file(file_name)
' Parameter fix by: rommeech
Set chat_file = oFSO.OpenTextFile(folder_to_save & "/" & file_name, 8, True, -1)
End Sub

' Find an appropriate directory the logs to save, however, to avoid collision with former dirs
Sub set_next_free_dir()
If oFSO.FolderExists(folder_to_save) Then
ext = 1
While oFSO.FolderExists(folder_to_save & "_" & ext) And ext < 100
  ext = ext + 1
Wend
folder_to_save = folder_to_save & "_" & ext
End If
oFSO.CreateFolder(folder_to_save)
End Sub

เพียงบันทึกเป็น.vbsไฟล์และเรียกใช้ จากนั้นในครั้งแรก Skype จะถามคุณเกี่ยวกับการอนุญาตให้เชื่อมต่อ Skype API ดังนั้นเพียงคลิกตกลง หลังจากนั้นมันจะสร้างโฟลเดอร์ชื่อSkypeChatHistoryและไฟล์บางไฟล์ที่ควรมีประวัติการแชทของคุณ


1
ขอบคุณ น่าเสียดายที่มันใช้งานไม่ได้สำหรับฉัน :-( แสดง "ข้อผิดพลาด" ไม่สามารถค้นหาชื่อคลาสอัตโนมัติ 'Skype4COM.skype' "ฉันจะพยายามหาวิธีทำให้มันใช้งานได้
Peter Štibraný

1
ฉันทำงานได้แล้ว ... ฉันต้องติดตั้ง Skype4COM จากdeveloper.skype.com/Download (โดยใช้ regsvr32.exe Skype4COM.dll จาก cmdline) แล้วเรียกใช้สคริปต์อีกครั้ง
ปีเตอร์Štibraný

ปรากฎว่าการใช้ Skype API ในการรับประวัติการแชทนั้นค่อนข้างง่าย ขอบคุณที่ชี้นำฉันในทิศทางที่ถูกต้อง
ปีเตอร์ibrtibraný

1
ฉันจำได้ว่าเคยใช้ครั้งเดียวและมันใช้ได้ผลในเวลานั้น ตอนนี้มันทำให้ฉันมีข้อผิดพลาดนี้i53.tinypic.com/zmd3lf.png
IsmailS

1
การดาวน์โหลดย้ายไปที่นี่: developer.skype.com/accessories
sjbotha

10

มีSkype Historianสามารถส่งออกเป็นข้อความธรรมดา, json, csv และ xml; ยังสามารถจัดกลุ่มข้อมูล

ตั้งแต่ปี 2013 มันใช้งานได้กับฉันหมดกล่อง (skype ของฉันคือ6.0.0.126) อย่างไรก็ตามมันเป็นตัวตายตัวแทนที่ดูเหมือนจะเป็นโอเพ่นซอร์ส skyninjaซึ่งฉันยังไม่ได้ลอง

ข้อกำหนดของระบบ: Windows 7 / Windows XP พร้อมด้วย. NET Framework 3.5

ตัวเลือกการส่งออก

พบลิงค์ไปยังโครงการนี้ในบล็อกในคำตอบของ harrymc


ดูเหมือนว่าจะไม่มีงานสร้างของ skype-ninja
lkraav

@lkraav ดูเหมือนว่าจะมีการเปิดตัว 20150318 v0.1 ของ skyninja มันต้องมี dotnet 4.5
n611x007

3

นั่นคือเหตุผลที่ฉันยังคงใช้ Skype 3

พวกเขาคิดอย่างไรเมื่อลบคำสั่ง/ htmlhistory ???

ด้วย Skype 4 ฉันกลัวว่าตัวเลือกเดียวคือโปรแกรมพิเศษเช่นPamela สำหรับ Skype (ไม่มีการบันทึกการแชทในรุ่นฟรี)

สำหรับการสำรองและกู้คืนประวัติการแชทมันค่อนข้างง่าย:

ค้นหาโฟลเดอร์Application Data \ Skype \ (ชื่อผู้ใช้ของคุณ)แล้วคัดลอกไปยังตำแหน่งอื่นเช่น CD หรือ DVD-ROM

หากต้องการกู้คืนไฟล์ประวัติเพียงคัดลอกไฟล์กลับไปยังโฟลเดอร์นั้น


3

คำตอบด่วน

  1. เป็นไปได้หรือไม่ที่จะส่งออกประวัติการแชท Skype v4 (.txt, .xml, .html)
    ใช่มันเป็น กับโปรแกรมเช่น Skyperious [ 1 ] , เขียนใน phyton และโอเพ่นซอร์สหรือมากกว่านั้นโดยตรงกับแต่ละโปรแกรมที่อนุญาตให้อ่านsqlite3รูปแบบฐานข้อมูล [ 3 ] (ดูรายละเอียดด้านล่าง)

  2. อีกวิธีหนึ่งก็สามารถสำรอง / กู้คืนประวัติการสนทนา skype ได้หรือไม่
    ใช่มันเป็น [ 2 ] ประวัติการแชทจะถูกบันทึกไว้ในไฟล์ฐานข้อมูลmain.dbไฟล์เดียว
    คุณสามารถสำรองและกู้คืนmain.dbไฟล์ เมื่อคุณต้องการ / ต้องการ


บางคำเกี่ยวกับการส่งออกในรูปแบบที่มนุษย์สามารถใช้งานได้:

  • มันไม่ใช่กรณีที่จะบูรณาการ weel :-)มีหลายโปรแกรมที่พัฒนาขึ้นสำหรับเรื่องนี้
    ฉันอยากจะแนะนำSkyperious [ 1 ] , เขียนด้วยไพ ธ อน, สามารถดาวน์โหลดได้เป็นซอร์สโค้ดและในเวอร์ชั่นไบนารี่สำหรับ Windows เพื่อให้สามารถทำงานภายใต้ระบบปฏิบัติการแต่ละระบบได้
    มันเป็นความสามารถในการส่งออกในhtml, หรือtxt บรรทัดคำสั่งนี้สำหรับ Linux จะสร้างไฟล์ html สำหรับคู่แชทซึ่งอยู่ในไดเรกทอรีย่อย:csv

        ./skyperious.sh export ~/.Skype/SKYPE_USERNAME/main.db -t html
    

    สำหรับ Windows skyperious.batมีแฟ้มชุดคล้าย Html ด้วยรูปแบบที่ดี

  • ความซื่อสัตย์คุณไม่จำเป็นต้องใช้โปรแกรมส่วนที่ 3 : แต่คุณสามารถออกกำลังกายกับฐานข้อมูล
    แชทเป็นภายในแฟ้มmain.db [ 2 ] ที่เป็นฐานข้อมูล sqlite3 [ 3 ], [ 4 ]
    ด้วยsqlite3หรือมีเครื่องมือกราฟิกอื่น ๆ หรือไม่ใช่กราฟิกคุณสามารถทำแบบสอบถามเช่น

        sqlite3 main.db "SELECT author,timestamp, body_xml 
                FROM messages WHERE dialog_partner = '<OTHER_SKYPENAME>'" > My_file.txt
    

    (ในบรรทัดเดียวเท่านั้นและด้วยชื่อผู้ใช้ skype ของบุคคลที่สองแทน<OTHER_SKYPENAME>)

    โปรดทราบว่าเป็นไปได้ที่SELECTแต่ละคอลัมน์ของฐานข้อมูลที่คุณสนใจ
    ด้วย GUI เช่น sqliteman [ 3b ]มันช่วยให้ฉันง่ายขึ้นคุณสามารถเลือกคอลัมน์ด้วยวิธีกราฟิกแล้วใส่ตัวกรองตามมูลค่าของ ฟิลด์ ... และมันจะเขียนบรรทัดอีกครั้งเป็น

    SELECT author, timestamp, body_xml FROM "main"."messages" WHERE dialog_partner = 'SKYPE NAME of 2nd USER';
    

    ป้อนคำอธิบายรูปภาพที่นี่


บางคำเพิ่มเติมเกี่ยวกับการสำรอง / เรียกคืน

มันเป็นไปได้ที่จะสำรอง / กู้คืนไฟล์แชทได้โดยตรง[ 2 ]

ประวัติการแชททั้งหมดจะถูกบันทึกไว้ในไฟล์ฐานข้อมูลหนึ่งไฟล์ซึ่งเป็นไฟล์ main.db
หากคุณทำสำเนาไฟล์นี้เป็นประจำจะสามารถกู้คืนประวัติการแชทได้เสมอ
ตรวจสอบให้แน่ใจว่า Skype ไม่ได้ทำงานบนคอมพิวเตอร์

คุณต้องค้นหาว่าเก็บไว้ที่ไหนในคอมพิวเตอร์ของคุณ:

  • ใน Windows มันจะเป็นรายงาน [ 2b ]ที่จะอยู่ใน%appdata%\Skype\YourSkypeNameที่มักจะ%appdata%\Skypeเป็นแปลว่า:C:\Users\YourUserName\AppData\Roaming\Skype
  • ใน Linux แทนที่จะอยู่ภายใต้หรือไม่นาน/home/LinuxUsername/.Skype/SkypeUserName/
    ~/.Skype/SkypeUserName/
  • บน Mac ควรอยู่ภายใต้ ~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/

1
ฉันเห็นด้วยgithub.com/suurjaak/Skyperiousเป็นเครื่องมือที่ดีที่สุด มันยังสามารถสร้างสถิติการแชทของคุณเช่นข้อความต่อผู้ใช้อิโมติคอนต่อผู้ใช้คำที่ใช้มากที่สุดในการแชท ฯลฯ
asmaier

3

หากคุณต้องการวิธีที่ง่ายที่สุดในการส่งออกประวัติของคุณในรูปแบบที่อ่านได้นั่นก็คือskypebrowser.comซึ่งสามารถอ่านmain.dbไฟล์ของคุณได้

แต่เนื่องจากเป็นบริการของบุคคลที่สามคุณควรคิดให้รอบคอบสองครั้งก่อนใช้หากคุณมีข้อมูลที่เป็นความลับในการแชทของคุณ ในกรณีนี้ทางเลือกที่ปลอดภัยเพียงอย่างเดียวของคุณคือเบราว์เซอร์ SQLite (คุณต้องมีmessagesตาราง)


1

G-Recorder ของ Skype ใช้งานได้ดีเยี่ยมสำหรับฉันในการแชทสำรอง


ฉันพบว่า แต่มันใช้งานไม่ได้สำหรับฉัน :-(
Peter Štibraný

@Peter: ฉันเป็นผู้เขียนร่วมของ G-Recorder คุณได้รายงานปัญหาจากรายการเมนู "รายงานปัญหา" แล้วหรือยัง อย่างน้อยที่สุดก็เพียงเพื่อตรวจสอบการทำงานของทีมสนับสนุนของเรา :)
อังเดร Tylychko


1

คุณเพียงแค่ต้องไปที่โฟลเดอร์หลักของผู้ใช้เช่นเดียวกับใน win7: C: \ Users [your_user] \ AppData \ Roaming \ Skype

จำไว้ว่าโฟลเดอร์ "AppData" ถูกซ่อนดังนั้นคุณอาจต้องเลือกตัวเลือกเพื่อแสดงโฟลเดอร์ที่ซ่อน

จากนั้นค้นหาโฟลเดอร์ที่มีชื่อผู้ใช้ของบัญชี skype ของคุณและคัดลอกไปยังพีซีเครื่องใหม่ ... ไอคอนแชทและผู้ติดต่อทั้งหมดและอื่น ๆ จะถูกคัดลอกไปยังคอมพิวเตอร์เครื่องใหม่


1

เพียงเปิดหน้าต่างแชทใหม่กับผู้ติดต่อที่คุณต้องการบันทึกประวัติการแชท พิมพ์ "/ history" (ไม่มีเครื่องหมายคำพูด) ในหน้าต่างแชท เมื่อเติมข้อมูลประวัติแล้วให้เลือก / ไฮไลต์ส่วนหนึ่งของข้อความด้วยเคอร์เซอร์เมาส์ จากนั้น (บน Windows) กด " Ctrl+ A" บนแป้นพิมพ์ของคุณ เมื่อทุกอย่างถูกเน้นไว้ให้กด " Ctrl+ C" เปิด Microsoft Word (หรือซอฟต์แวร์ประมวลผลคำที่คล้ายกันเช่น OpenOffice.org Writer) และกด " Ctrl+ V" บนแป้นพิมพ์ของคุณ บันทึกไฟล์ในฮาร์ดดิสก์หรือไดรฟ์ USB ของคุณและ voila: คุณมีบันทึกประวัติการสนทนาที่สมบูรณ์


0

ซอฟต์แวร์ที่ช่วยในการบันทึกการโทรและเก็บบันทึกการโทร / ประวัติการแชท / การถ่ายโอนไฟล์ไปยังอีเมลของคุณ - http://skype2email.com

Skype2email เป็นโปรแกรมเชิงพาณิชย์พร้อมทดลองใช้ฟรี 14 วัน
คำเตือน: ฉันทำงานในโปรแกรมนี้


สวัสดี Mehal ฉันลองโปรแกรมของคุณแล้ว แต่มันล้มเหลวเมื่อฉันเริ่มมัน ถ้าคุณบอกฉันว่าต้องมองหาที่ไหนหรือจะส่งอะไรให้ฉันฉันจะลองอีกครั้ง
ปีเตอร์ibrtibraný

0

สิ่งที่ง่ายที่สุดที่จะทำถ้าคุณต้องการโอนประวัติไปยังคอมพิวเตอร์เครื่องอื่นคือทำตามคำแนะนำของ Skype ที่นี่: https://support.skype.com/en/faq/FA10649/Can-I-transfer-my-chat -history สิ่งที่คุณทำคือทำเครื่องหมายการสนทนาว่ายังไม่ได้อ่านและพวกเขาจะถูกถ่ายโอนไปยังคอมพิวเตอร์เครื่องอื่นเมื่อคุณลงชื่อเข้าใช้ในครั้งถัดไป


0

มีตัวเลือกในการส่งออกประวัติ Skype ในรูปแบบ CSV ฯลฯ จากหน้าบัญชีของคุณในการเป็นSkype.com


7
คุณช่วยเขียนที่ฉันสามารถหาได้ที่ไหน ฉันดูบัญชี Skype ทั้งหมด แต่ไม่พบที่ใดก็ได้ :-(
Peter Petertibraný

1
ไม่ต้องพูดถึงว่ามันน่ากลัวแค่ไหน
lkraav

0

ฉันคิดว่ามีวิธีที่หรูหรากว่าในการบันทึกการสนทนาและการโทรของคุณแล้วส่งไปที่อีเมล ตัวอย่างเช่นการใช้Skype Recorderช่วยให้คุณสามารถบันทึกทั้งหมดไว้ในที่เก็บข้อมูลออนไลน์รวมทั้งเพิ่มฟังก์ชั่นเช่นการค้นหาข้อความเต็มเล่นสายของคุณออนไลน์และคุณสมบัติอื่น ๆ อีกมากมาย ฉันคิดว่ามันจะช่วยให้คุณมีปัญหาจริงๆ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.