gpt4 book ai didi

python - 在没有 html 或原始消息的线程中提取消息

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:32 25 4
gpt4 key购买 nike

对于任何线程查询“to:xyz@gmail.com”,我已经能够返回所有匹配的线程 ID,然后将它们提供给消息 get 方法以返回所有消息中的所有消息的列表。线程。

但是,许多消息包含以前的所有消息,为每条消息创建了一个面包屑,并大大增加了返回的每条消息的大小。其他消息也包含 html 元素。

解析所有这些内容以返回发送和接收的消息的最佳方法是什么,而不需要所有面包屑和 html 多余的内容?

最佳答案

基于gmail原始消息格式,我把这个非常粗略的解析放在一起。它的工作方式是使用第一个内容类型来获取多部分边界。然后,它根据边界分割消息并获取第一部分。

这省略了所有 html,只留下文本消息和面包屑来处理。

之后,我们可以逐行分解消息,删除剩余的内容信息,获取消息,并在到达第一个回复时停止。

multipart_boundary = ''
for r in messages.split('\n'):
if r.startswith('Content-Type: multipart/alternative; boundary='):
multipart_boundary = r[r.find('boundary=') + 9:]
break

#print multipart_boundary
offset = len(multipart_boundary) + 2
messages = messages[messages.find('--' + multipart_boundary)+offset:]
messages = messages[:messages.find('--' + multipart_boundary)]
newmsg = ""
for line in messages.split('\n'):
if line.startswith('Content-') or line.startswith('>'):
continue
elif line.startswith('On') and line.strip().endswith('wrote:'):
break
else:
newmsg = newmsg + "\n" + line

print newmsg

关于python - 在没有 html 或原始消息的线程中提取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com