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.