kakaotalk消息导出文件的预处理器

kakaotalk-msg-preprocessor的Python项目详细描述


kakaotalk_msg_preprocessor

通过

Kakaotalk聊天室대화 내보내기生成的文件中的信息全部处理的库。

主要功能如下。

  • parse:将export的txt文件以包含多种信息(dict)的list进行分析。
    • 各信息信息是将发送信息的时间(datetime)、发送信息的人(user name)、信息文本(text)带到key的dictionary。
    • [{'datetime': datetime.datetime(2020, 6, 28, 1, 1), 'user_name': '김한길', 'text': '사진'}, {'datetime': datetime.datetime(2020, 8, 11, 12, 3), 'user_name': '김한길', 'text': 'https://www.youtube.com'}]
  • url_msg_extract:只提取包含URL的信息,返回URL和包含信息的list。
    • [{'datetime': datetime.datetime(2020, 8, 11, 12, 3), 'user_name': '김한길', 'url': 'https://www.youtube.com'}]

Guide

Install

pip install kakaotalk_msg_tokenizer

Usage

importkakaotalk_msg_preprocessor

Kakao Talk信息挖掘

# get the device type and language of kakaotalk_export_filefile_type=kakaotalk_msg_preprocessor.check_export_file_type(file_path)print(file_type)#  Parsing the text from a kaotalk_export_filemessages=kakaotalk_msg_preprocessor.parse(file_type,file_path)print(messages)

示例结果

window_ko
[{'datetime': datetime.datetime(2020, 6, 28, 1, 1), 'user_name': '김한길', 'text': '사진'}, {'datetime': datetime.datetime(2020, 6, 28, 1, 3), 'user_name': '김한길', 'text': '공부하기'}, 
{'datetime': datetime.datetime(2020, 8, 11, 2, 41), 'user_name': '김한길', 'text': '화 19:30-22:30\n\n\n자유석권(선착순)\n오후 6시 녹화장 앞 번호표대로 줄서기, 6시 50분부터 입장\n- 번호표 배부 : 녹화일 9:00 ~ 18:20까지 (입장순서가 부여된 방청권 선착순 배부)\n- 입장시간: 18시까지 녹화장 앞에서 번호표대로 줄서기(번호표 지참), 18:50부터 입장\n- 번호표 배부는 오후 6시 20분에 마감. 마감 이후에 오신 분들은 별도로 통제합니다'}, 
{'datetime': datetime.datetime(2020, 8, 11, 12, 3), 'user_name': '김한길', 'text': 'https://www.youtube.com'}]

Kakao Talk信息中提取URL

url_messages=kakaotalk_msg_preprocessor.url_msg_extract(file_type,messages)print(url_messages)

示例结果

[{'datetime': datetime.datetime(2020, 8, 11, 12, 3), 'user_name': '김한길', 'url': 'https://www.youtube.com'}]
支持export文件类型

Kakaotalk根据Kakaotalk应用程序的运行环境,将不同形式的txt文件export。

目前确认正常工作的环境如下。

  • 视窗(OS语言:韩文)
  • 安卓(OS语言:韩文)
  • 安卓(OS语言:英语)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView