メールメッセージの内容を抽出したかったのですが、これはHTMLコンテンツで、BeautifulSoupを使用して、From、To、件名を取得します。本文の内容を取得すると、最初の行だけが取得されます。それは残りの行と段落を残します。美味しいスープを使ってHTMLからすべてのテキストコンテンツを解析する方法
ここでは、すべての行/段落を読み込む方法が不足しています。
CODE:
email_message = mail.getEmail(unreadId)
print (email_message['From'])
print (email_message['Subject'])
if email_message.is_multipart():
for payload in email_message.get_payload():
bodytext = email_message.get_payload()[0].get_payload()
if type(bodytext) is list:
bodytext = ','.join(str(v) for v in bodytext)
else:
bodytext = email_message.get_payload()[0].get_payload()
if type(bodytext) is list:
bodytext = ','.join(str(v) for v in bodytext)
print (bodytext)
parsedContent = BeautifulSoup(bodytext)
body = parsedContent.findAll('p').getText()
print body
コンソール:
body = parsedContent.findAll('p').getText()
AttributeError: 'list' object has no attribute 'getText'
私は
body = parsedContent.find('p').getText()
を使用する場合それはコンテンツの最初の行をフェッチし、それが印刷されていません残りの行
は
は、HTMLタグからすべての行を取得した後、私は、各行の最後に=シンボルを取得しても& NBSP追加されました。,&が表示されます。これらを克服する方法。
抽出されたテキスト:最初の
親愛なる、GenWattで私たちのすべてが 顧客としてXYZてきて喜んでいます。 私はあなたのアカウント マネージャーとして自分自身を紹介したいと思います。 ご不明な点がありましたら、 に電話をして に電話をかけるか、ash = [email protected]までメールしてください。 あなた また、次の番号にGenWattに連絡することができます: メイン: 810-543-1100Sales:810-545-1222Customerサービス&サポート: 810-542-1233Fax:810-545-1001IはGenWattはあなたを提供します確信しています よく、私たちの関係を見てほしい=
を行うことを正確にthe sameであることはあなたのHTML内のすべての '
(「P」): 値= paragraph.textあなたが解析する方法 –
を述べた私は内容を理解していないこの権利 よう プリント値 &nsbp;または を返す方法 –