답변:
여기에 제시된 스크립트를 참조하십시오. 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과 같은 다른 위치에 복사하십시오.
히스토리 파일을 복원하려면 파일을 해당 폴더로 다시 복사하십시오.
빠른 답변
Skype v4 채팅 기록 (.txt, .xml, .html)을 내보낼 수 있습니까?
네, 그렇습니다 와 Skyperious 같은 프로그램 [ 1 ] , phyton 오픈 소스로 작성 또는 더 직접적으로 읽기 수 있도록 각 프로그램과 sqlite3
데이터베이스 형식 [ 3 ] (자세한 내용은 아래 참조).
또는 스카이프 채팅 기록을 백업 / 복원 할 수 있습니까?
예, [ 2 ] 입니다. 대화 기록은 하나의 데이터베이스 파일 인 파일에 저장 main.db
됩니다. 파일을
백업 및 복원 할 수 있습니다 main.db
. 필요할 때 / 원할 때
사람이 사용할 수있는 형식으로 내보내려는 단어들 :
Weel을 재발 명하는 것은 아닙니다 :-)
.이를 위해 개발 된 많은 프로그램이 있습니다. 파이썬으로 작성된 Skyperious [ 1 ]
를 제안하고 싶습니다 . 각 운영 체제에서 작동 할 수 있도록 Windows 용 소스 코드와 이진 버전으로 다운로드 할 수 있습니다 .
이다 내보낼 수 에서 , 또는 .
Linux 용이 명령 행은 서브 디렉토리에서 서로의 대화 상대에 대한 html 파일을 작성합니다.html
txt
csv
./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가 실행되고 있지 않은지 확인하십시오.
컴퓨터에 저장된 위치 만 찾으면됩니다.
%appdata%\Skype\YourSkypeName
, 일반적으로 다음 %appdata%\Skype
과 같이 번역됩니다.C:\Users\YourUserName\AppData\Roaming\Skype
/home/LinuxUsername/.Skype/SkypeUserName/
~/.Skype/SkypeUserName/
입니다.~/Library/Application\ Support/Skype/<YOUR SKYPENAME>/
기록을 읽기 쉬운 형식으로 내보내는 가장 쉬운 방법을 원한다면 skypebrowser.com이main.db
파일을 읽을 수 있습니다.
그러나 타사 서비스이므로 대화에 기밀 데이터가있는 경우 서비스를 사용하기 전에 두 번 생각해야합니다. 이 경우 유일한 안전한 선택은 SQLite 브라우저입니다 ( messages
테이블 이 필요 합니다).
Skype 플러그인 G-Recorder 는 채팅을 백업하는 데 매우 효과적입니다.
이를 사용하여 채팅 기록 데이터를 내보낼 수 있습니다.
채팅 기록을 저장하려는 연락처가있는 새 채팅 창을 열기 만하면됩니다. 채팅 창에 "/ history"(따옴표없이)를 입력하십시오. 기록이 채워지면 마우스 커서로 텍스트의 일부를 선택 / 강조 표시합니다. 그런 다음 (Windows의 경우) 키보드에서 " Ctrl+ A"를 누릅니다 . 모든 것이 강조 표시되면 " Ctrl+ C"를 누르십시오 . Microsoft Word (또는 OpenOffice.org Writer와 같은 유사한 워드 프로세싱 소프트웨어)를 열고 키보드에서 " Ctrl+ V"를 누릅니다 . 파일을 하드 디스크 또는 USB 드라이브에 저장하십시오. voila : 대화 기록에 대한 완전한 기록이 있습니다.
통화를 녹음하고 녹음 된 통화 / 채팅 기록 / 파일 전송을 이메일로 저장할 수있는 소프트웨어-http: //skype2email.com
Skype2email은 14 일 무료 평가판이 포함 된 상용 프로그램입니다.
면책 조항 :이 프로그램에서 일했습니다.
기록을 다른 컴퓨터로 전송하려는 경우 가장 쉬운 방법은 다음과 같이 Skype의 조언을 따르는 것입니다. https://support.skype.com/en/faq/FA10649/Can-I-transfer-my-chat -history-from-one-computer-to-another? frompage = search & q = chat + history & fromSearchFirstPage = false 입니다. 대화 내용을 읽지 않은 상태로 표시하면 다음에 로그인 할 때 대화가 다른 컴퓨터로 전송됩니다.
Skype.com 의 계정 페이지에서 Skype 기록을 CSV 등으로 내보내는 옵션이 있습니다 .
대화와 통화를 저장 한 다음 이메일로 보내는 더 우아한 방법이 있다고 생각합니다. 예를 들어 Skype Recorder를 사용하면 모든 것을 온라인 저장소에 저장하고 전체 텍스트 검색과 같은 기능을 추가하고 온라인으로 전화를 걸며 기타 많은 멋진 기능을 사용할 수 있습니다. 나는 그것이 당신의 문제에 정말로 도움이 될 것이라고 생각합니다.
이 도구는 Skype 기록을 HTML로 내보낼 수 있습니다.
Win 및 Mac 용 실행 파일은 여기에서 찾을 수 있습니다.
main.db
할 수 있으며, python 프로그램이나 데이터베이스 sqlite3를 읽을 수있는 프로그램과 직접 채팅을 내보내거나 쿼리를하거나 그래픽 인터페이스 옵션을 통해 선택할 수 있습니다 . 아래 답변에 더 자세히 썼습니다.