【发布时间】:2019-01-27 02:50:08
【问题描述】:
我正在尝试通过 GMAIL API 提取 GMAIL 电子邮件的正文,很好地使用 Python。
我可以使用以下命令提取消息。但是,电子邮件文本的编码似乎存在问题(原始电子邮件中包含 html) - 出于某种原因,每次在每个引用 3D 出现之前。
另外,在 a href="my_url" 中,我随机出现了等号 =,并且在链接的末尾,有一个 & 字符,即不在电子邮件的原始 HTML 中。
知道如何解决这个问题吗?
我用来提取电子邮件的代码:
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
from apiclient import errors
import base64
msgs = service.users().messages().list(userId='me', q="no-reply@hello.com",maxResults=1).execute()
for msg in msgs['messages']:message = service.users().messages().get(userId='me', id=m_id, format='raw').execute()
"raw":将原始字段中包含正文内容的完整电子邮件数据作为 base64url 编码字符串返回;未使用有效负载字段。”
print(base64.urlsafe_b64decode(message['raw'].encode('ASCII')))
td style=3D"padding:20px; color:#45555f; font-family:Tahoma,He= 绿叶蕈;字体大小:12px;行高:18px; "
JPk79hd = JFQZEhc6%2BpAiQKF8M85SFbILbNd6IG8%2FEAWwe3VTr2jPzba4BHf%2FEnjMxq66fr228I7OS =
【问题讨论】:
-
将整个文档放在我面前之后 - 看起来 python 用等号标记了每行的末尾,因为它似乎试图将每一行保留为 ### 字符。关于可能导致这种情况的任何想法?如果我至少可以在每个字符串的末尾得到等号,我可以用 find-replace_with_black 完成其余的工作。提前谢谢你
-
看起来等号与base64的编码有关 - stackoverflow.com/questions/6916805/…