Skype 기록을 내보내려면 어떻게합니까?


31

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

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

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


요즘에는 단순히 파일을 복사하는 채팅을 백업 / 복원 main.db할 수 있으며, python 프로그램이나 데이터베이스 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
작동합니다 ... developer.skype.com/Download 에서 Skype4COM을 설치 하고 (cmdline의 regsvr32.exe Skype4COM.dll을 사용하여) 스크립트를 다시 실행해야했습니다.
— Peter Štibraný

채팅 기록을 얻기 위해 Skype API를 사용하는 것은 매우 쉽습니다. 올바른 방향으로 나를 가리켜 주셔서 감사합니다.
— 피터 Štibraný

1
나는 그것을 한 번 사용한 적이 있었고 당시에는 효과가 있었음을 기억합니다. 이제 나 에게이 오류가 발생합니다 i53.tinypic.com/zmd3lf.png
— IsmailS

1
다운로드는 여기로 이동 : developer.skype.com/accessories
— sjbotha

10

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

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

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

내보내기 옵션

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


사용 가능한 skype-ninja 빌드가없는 것 같습니다.
— lkraav

@lkraav @ skyninja의 20150318 v0.1 릴리스가있는 것 같습니다. 그것은 닷넷 4.5가 필요합니다
— n611x007

3

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

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

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

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

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

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


3

빠른 답변

  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>/

1
github.com/suurjaak/Skyperious 가 사용 가능한 최고의 도구 라는 데 동의 합니다. 또한 채팅 통계 (예 : 사용자 당 메시지, 사용자 당 이모티콘, 채팅에서 가장 많이 사용되는 단어 등)를 생성 할 수 있습니다.
— asmaier

3

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

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


1

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


나는 그것을 발견했지만 그것은 나를 위해 작동하지 않았다 :-(
— Peter Štibraný

@Peter : 저는 G-Recorder의 공동 저자입니다. "문제 신고"메뉴 항목으로 문제를보고 했습니까? 적어도 우리의 지원 팀이 어떻게 작동하는지 확인하려면 :)
— Andriy Tylychko


1

C : \ Users [your_user] \ AppData \ Roaming \ Skype와 같이 win7과 같이 사용자 기본 폴더로 이동하면됩니다.

"AppData"폴더는 숨겨져 있으므로 숨겨진 폴더를 표시하는 옵션을 선택해야 할 수도 있습니다.

그런 다음 skype 계정의 사용자 이름으로 폴더를 찾아 새 PC에 복사하십시오. 모든 대화 및 연락처 아이콘 등이 새 컴퓨터에 복사됩니다.


1

채팅 기록을 저장하려는 연락처가있는 새 채팅 창을 열기 만하면됩니다. 채팅 창에 "/ history"(따옴표없이)를 입력하십시오. 기록이 채워지면 마우스 커서로 텍스트의 일부를 선택 / 강조 표시합니다. 그런 다음 (Windows의 경우) 키보드에서 " Ctrl+ A"를 누릅니다 . 모든 것이 강조 표시되면 " Ctrl+ C"를 누르십시오 . Microsoft Word (또는 OpenOffice.org Writer와 같은 유사한 워드 프로세싱 소프트웨어)를 열고 키보드에서 " Ctrl+ V"를 누릅니다 . 파일을 하드 디스크 또는 USB 드라이브에 저장하십시오. voila : 대화 기록에 대한 완전한 기록이 있습니다.


0

통화를 녹음하고 녹음 된 통화 / 채팅 기록 / 파일 전송을 이메일로 저장할 수있는 소프트웨어-http: //skype2email.com

Skype2email은 14 일 무료 평가판이 포함 된 상용 프로그램입니다.
면책 조항 :이 프로그램에서 일했습니다.


안녕 Mehal. 프로그램을 시도했지만 시작할 때 충돌이 발생합니다. 어디를 보거나 무엇을 보내야하는지 알려 주시면 더 노력하겠습니다.
— Peter Štibraný


0

Skype.com 의 계정 페이지에서 Skype 기록을 CSV 등으로 내보내는 옵션이 있습니다 .


7
정확히 찾을 수있는 곳에 쓰시겠습니까? 나는 전체의 Skype 계정을 통해 보였지만, :-( 어디서든 찾을 수 없습니다
— 피터 Štibraný에게

1
그것이 얼마나
— 무서운지

0

대화와 통화를 저장 한 다음 이메일로 보내는 더 우아한 방법이 있다고 생각합니다. 예를 들어 Skype Recorder를 사용하면 모든 것을 온라인 저장소에 저장하고 전체 텍스트 검색과 같은 기능을 추가하고 온라인으로 전화를 걸며 기타 많은 멋진 기능을 사용할 수 있습니다. 나는 그것이 당신의 문제에 정말로 도움이 될 것이라고 생각합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.