我提取使用Gmail中的郵件執行以下操作:蟒蛇郵件編碼的問題
def getMsgs():
try:
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
except:
print 'Failed to connect'
print 'Is your internet connection working?'
sys.exit()
try:
conn.login(username, password)
except:
print 'Failed to login'
print 'Is the username and password correct?'
sys.exit()
conn.select('Inbox')
# typ, data = conn.search(None, '(UNSEEN SUBJECT "%s")' % subject)
typ, data = conn.search(None, '(SUBJECT "%s")' % subject)
for num in data[0].split():
typ, data = conn.fetch(num, '(RFC822)')
msg = email.message_from_string(data[0][1])
yield walkMsg(msg)
def walkMsg(msg):
for part in msg.walk():
if part.get_content_type() != "text/plain":
continue
return part.get_payload()
然而,一些電子郵件,我得到的幾乎是不可能的,我從中提取日期(使用正則表達式)的編碼相關的字符,如'=',隨機落在各種文本字段的中間。這裏就是它,我想提取發生在日期範圍的例子:
名稱:基爾斯蒂電子郵件: [email protected]電話號碼:+ 999 99995192黨總:4總,0 孩子到達/出發時間:10月9日= , 2010 - 2010年10月13日 - 2010年10月13日
有沒有辦法來消除這些編碼的字符?
是的......我認爲它把那些有換行符換行的地方。應該是一個lib來正確解碼它。 – mpen 2010-10-28 07:13:57