2017-11-15 3 views
0

전자 메일을 읽으려면 python 스크립트를 작성하려고합니다. To, From, Subject과 같은 대부분의 것들을 정상적으로 얻을 수 있습니다. 그러나 body에는 다음과 같이 텍스트와 HTML 코드가 있습니다. 다음은 전자 메일의 HTML 내용 구문 분석

enter image description here

이메일 콘텐츠의 추출을 수행하는 코드의 일부입니다

email_message = email.message_from_string(raw_email) 
print 'To:', email_message['To'] 
print 'Sent from:', email_message['From'] 
print 'Date:', email_message['Date'] 
print 'Subject:', email_message['Subject'] 
print '*'*30, 'MESSAGE', '*'*30 
maintype = email_message.get_content_maintype() 
#print maintype 

if maintype == 'multipart': 
    for part in email_message.get_payload(): 
      if part.get_content_maintype() == 'text': 
       print part.get_payload() 
elif maintype == 'text': 
    print email_message.get_payload() 
print '*'*69 
전체 코드에 대한

힘내 링크 : Email-parser

어떻게 그 HTML 없애 코드를 작성하고 일반 텍스트 만 얻으시겠습니까?

+2

그래서 뭐가 문제 야?! – DRPK

+0

@DRPK 죄송합니다. 죄송합니다. 지금 편집 됨 –

답변

1

메시지 본문은 MIME 인코딩되어 있으므로 일반 텍스트와 HTML 형식의 텍스트가 모두 포함되어 있습니다. 본문의 일반 텍스트를 가져 오려면 먼저 메시지를 MIME 디코딩해야합니다. 파이썬의 email package을 사용하여 MIME 디코딩을 할 수 있습니다. 자세한 내용은 this question을 참조하십시오.

+0

감사. 그것은 도움이 :) –

관련 문제