2016-08-24 86 views
2

我正在分析skype截圖。目前的任務是從可用聊天截圖中瞭解誰在當前對話中以及在什麼時間說什麼。通過分析skype截圖,找出誰開始對話 - python

如果我只是在圖像上運行一個ocr引擎,它給我沒有價值,因爲誰說什麼從可用文本。

img = requests.get(url) 
if img.status_code == 200: 
    img = Image.open(StringIO(img.content)) 
    img = process_image(img) 
    img = img.resize((int(img.size[0] * 2), int(img.size[1] * 2)),Image.ANTIALIAS) 
    text = pytesseract.image_to_string(img) 

文字在這裏只是給我從Skype窗口中的所有文本內容,但我無法確定是誰的話。

唯一突出鮮明的細節觀察到的是,我的消息以藍色矩形高亮顯示,我收到的有灰色。

如何識別誰發送,什麼消息以及在什麼時間?

要多一點點感覺,爲什麼我這樣做;我進一步計劃分析從截圖中提取的文本,並將其分類爲兩種不同類型的對話(無論我是開始對話還是其他人)。

例如: - 如果這是Skype的截圖: https://drive.google.com/open?id=0B-oewG7CW8ozTWx4U280bEFqY1E

根據最後的消息和時間戳,我送它開始了談話的消息。

對於這個其他例子: - 如果這是截圖 https://drive.google.com/open?id=0B-oewG7CW8ozaE1kS3dKUU4wMHc

其他人開始對話。

[編輯]:我真的很抱歉,我忘了提,我沒有獲得Skype的聊天記錄。我只需要分析一大堆skype截圖。

+2

Skype不會將聊天記錄作爲文本文件以某種方式存儲在計算機上嗎?我不確定它們使用的格式是什麼樣的,但是您可以打開文本文件,看看是否可以解析它以獲取該信息。就像我說的,我不是100%確定這是否能得到你想要的,但它只是一個想到的想法。 – Harrison

+2

你寫了什麼代碼,以及哪裏_specifically_卡住了? – 2016-08-24 13:30:45

+0

至少Linux skype將消息存儲在sqlite3數據庫中 - 你甚至不需要OCR。 –

回答

0

我相信會自動使用skype保持聊天記錄在您的計算機上的某個地方。您可以打開文件並通過解析來查找與您有關的信息。

我沒有計算機上的任何聊天記錄,因爲我在工作中沒有此計算機上安裝Skype,但我知道,如果你複製並粘貼你的聊天到一個文本文件它看起來像這樣:

[0:00:00 AM] user1: xxxxxxx 
[0:00:00 AM] user2: xxxxxxx 

我不是百分之一百確定,如果這正是它的外觀,因爲我現在正在處理內存。當然,這只是一個模板。它將顯示消息的時間戳,用戶名和消息。

要確定誰開始談話中,你可以讀取該文件,並解析線,特別是在看的時候郵票。我相信你可以找到某種方式來幫助你。也許你可以找到兩個消息之間有很大時間差的情況,並且首先發送的消息可以確定誰開始了對話。我不知道這是否是一個很好的因素來爲你做出假設,但我相信你能夠以某種方式得出結論。

+0

我無權訪問Skype聊天記錄。只需訪問Skype的屏幕截圖。 –

1

你寧願使用skype的數據庫文件。

main.db文件實際上包含這些對話,並且擁有您想要的所有信息。

使用簡單的sql查詢,你會立刻得到你想要的。

sqlite3 path/to/main.db "select * from messages where dialog_partner=\"partnerusername\";" 
+0

我無權訪問skype日誌。我正在分析來自不同用戶的skype截圖。 –