我正在分析skype截图。手头的任务是从可用的聊天截图中找出谁在当前对话和什么时间说出了什么。
如果我只是在图像上运行一个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截图。
答案 0 :(得分:1)
你宁愿使用skype的数据库文件。
main.db
文件实际上包含这些对话,并且包含您想要的所有信息。
使用简单的SQL查询,您可以立即获得所需内容。
sqlite3 path/to/main.db "select * from messages where dialog_partner=\"partnerusername\";"
答案 1 :(得分:0)
我相信skype会自动将聊天记录保存在您的计算机上。您可以打开该文件并对其进行解析,以查找与您相关的信息。
我没有在计算机上有任何聊天记录,因为我正在工作,并且没有在此计算机上安装Skype,但我知道如果您将聊天复制并粘贴到文本文件中,它将看起来像这样:
[0:00:00 AM] user1: xxxxxxx
[0:00:00 AM] user2: xxxxxxx
我不是百分之百确定它是否正是它的样子,因为我现在正在记忆中。当然这只是一个模板。它将显示消息的时间戳,用户的姓名和消息。
要确定谁开始了对话,您可以阅读文件并解析这些行,特别是查看时间戳。我相信你能找到帮助你的东西。也许您可以找到两条消息之间存在大量时间间隔的实例,并且首先发出的消息可以确定谁开始了对话。我不知道这是否是一个很好的因素来为你做出假设,但我相信你能够以某种方式得出结论。