第一步导出聊天记录(此聊天记录只能导出本机的,不是服务器上的哦~~)
-
INPUT_FILE = "qq_chat_history.txt"
-
-
HEADER_START = b"2013"
-
(START_QQ, LINE_END_QQ) = (b"(", b")\r\n")
-
(START_EMAIL, LINE_END_EMAIL) = (b"<", b">\r\n")
-
-
with open(INPUT_FILE, "rb") as f:
-
records = {}
-
for line in f:
-
if not line.startswith(HEADER_START):
-
continue
-
if line.endswith(LINE_END_QQ):
-
qq_start = line.rfind(START_QQ)
-
if qq_start == -1:
-
continue
-
qq = line[qq_start+1 : -len(LINE_END_QQ)]
-
if not qq.isdigit():
-
continue
-
records[qq] = records.get(qq, 0) + 1
-
elif line.endswith(LINE_END_EMAIL):
-
email_start = line.rfind(START_EMAIL)
-
if email_start == -1:
-
continue
-
email = line[email_start+1 : -len(LINE_END_EMAIL)]
-
if email.count(b"@") != 1:
-
continue
-
records[email] = records.get(email, 0) + 1
-
for (k, v) in sorted(records.items(), key=lambda item: item[1]):
-
print("{0} => {1}".format(k.decode(), v))
阅读(3052) | 评论(0) | 转发(0) |