Skype 기록을 내보내려면 어떻게합니까? 있습니까? ( .txt, .xml, .html) 또는

Skype v4 채팅 기록을 읽을 수있는 일반 텍스트 형식으로 내보낼 수 있습니까?
( .txt, .xml, .html)

또는 스카이프 채팅 기록을 백업 / 복원 할 수 있습니까?
(Gmail 또는 일반 텍스트 형식으로 백업하는 것은 중요하지 않습니다).

인터넷에서 수많은 도구를 발견하고 일부 도구를 사용해 보았지만 작동하지 않는 것 같습니다.



답변

여기에 제시된 스크립트를 참조하십시오. 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채팅 기록이 있어야 하는 폴더 와 파일 이 생성됩니다 .


답변

Skype Historian 이 있으며 일반 텍스트, json, csv 및 xml로 내보낼 수 있습니다. 데이터를 그룹화 할 수도 있습니다.

2013 년 현재, 그것은 나를 위해 즉시 작동했습니다 (내 스카이프는 6.0.0.126). 그러나 그 후임은 아직 시도하지 않은 오픈 소스 skyninja 인 것 같습니다 .

시스템 요구 사항 : .NET Framework 3.5가 설치된 Windows 7 / Windows XP

내보내기 옵션

harrymc의 답변에서 블로그 에서이 프로젝트에 대한 링크를 찾았습니다 .


답변

이것이 여전히 Skype 3을 사용하는 이유입니다.

/ htmlhistory 명령 을 제거했을 때 무엇을 생각 습니까 ???

Skype 4를 사용하는 경우 Pamela for Skype 와 같은 기념 프로그램 (유료 버전에서는 채팅 기록을 사용할 수 없음) 만 옵션으로 사용됩니다.

채팅 기록 백업 및 복원과 관련하여 매우 쉽습니다.

Application Data \ Skype \ (사용자 이름) 폴더를 찾아 CD 또는 DVD-ROM과 같은 다른 위치에 복사하십시오.

히스토리 파일을 복원하려면 파일을 해당 폴더로 다시 복사하십시오.


답변

빠른 답변

  1. Skype v4 채팅 기록 (.txt, .xml, .html)을 내보낼 수 있습니까?
    네, 그렇습니다Skyperious 같은 프로그램 [ 1 ] , phyton 오픈 소스로 작성 또는 더 직접적으로 읽기 수 있도록 각 프로그램과 sqlite3데이터베이스 형식 [ 3 ] (자세한 내용은 아래 참조).

  2. 또는 스카이프 채팅 기록을 백업 / 복원 할 수 있습니까?
    예, [ 2 ] 입니다. 대화 기록은 하나의 데이터베이스 파일 인 파일에 저장 main.db됩니다. 파일을
    백업 및 복원 할 수 있습니다 main.db. 필요할 때 / 원할 때


사람이 사용할 수있는 형식으로 내보내려는 단어들 :

  • Weel을 재발 명하는 것은 아닙니다 :-) .이를 위해 개발 된 많은 프로그램이 있습니다. 파이썬으로 작성된 Skyperious [ 1 ]
    를 제안하고 싶습니다 . 각 운영 체제에서 작동 할 수 있도록 Windows 용 소스 코드와 이진 버전으로 다운로드 할 수 있습니다 .
    이다 내보낼 수 에서 , 또는 .
    Linux 용이 명령 행은 서브 디렉토리에서 서로의 대화 상대에 대한 html 파일을 작성합니다.
    htmltxtcsv

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

    Windows의 경우 유사한 배치 파일이 skyperious.bat있습니다. 좋은 형식의 HTML.

  • 솔직히 말해서 당신은 제 3의 파트 프로그램이 필요하지 않습니다 : 그러나 당신은 데이터베이스로 체육관을 할 수 있습니다.
    채팅은 파일 [ 2 ] 안에 있습니다. 즉 sqlite3 데이터베이스 [ 3 ], [ 4 ] 입니다. 다른 그래픽 도구가 있거나없는 그래픽 도구를
    사용 하거나 사용하여 다음과 같은 쿼리를 수행 할 수 있습니다.main.db
    sqlite3

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

    (한 줄에 두 번째 사람의 스카이프 사용자 이름 대신 <OTHER_SKYPENAME>)

    SELECT관심있는 데이터베이스의 각 열에 대해 가능합니다 .
    sqliteman [ 3b ] 와 같은 GUI를 사용하면 더 간단하게 그래픽 방식으로 열을 선택한 다음 필터 값을 지정할 수 있습니다. 필드 … 그리고 다음과 같이 라인을 다시 작성합니다.

    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
  • 리눅스에서 대신에 /home/LinuxUsername/.Skype/SkypeUserName/
    또는 이하 ~/.Skype/SkypeUserName/입니다.
  • Mac에서는 아래에 있어야합니다 ~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/

답변

기록을 읽기 쉬운 형식으로 내보내는 가장 쉬운 방법을 원한다면 skypebrowser.com이main.db 파일을 읽을 수 있습니다.

그러나 타사 서비스이므로 대화에 기밀 데이터가있는 경우 서비스를 사용하기 전에 두 번 생각해야합니다. 이 경우 유일한 안전한 선택은 SQLite 브라우저입니다 ( messages테이블 이 필요 합니다).


답변

Skype 플러그인 G-Recorder 는 채팅을 백업하는 데 매우 효과적입니다.


답변

이를 사용하여 채팅 기록 데이터를 내보낼 수 있습니다.

http://www.gammatwo.com/2010/12/18/save-skype-chat-history/