Я пытаюсь использовать BeautifulSoup, чтобы очистить HTML-теги от того, что было возвращено с помощью ExchangeLib.На данный момент у меня есть следующее:
from exchangelib import Credentials, Account
import urllib3
from bs4 import BeautifulSoup
credentials = Credentials('myemail@notreal.com', 'topSecret')
account = Account('myemail@notreal.com', credentials=credentials, autodiscover=True)
for item in account.inbox.all().order_by('-datetime_received')[:1]:
soup = BeautifulSoup(item.unique_body, 'html.parser')
print(soup)
Как есть, при использовании exchangeLib будет получено первое электронное письмо из моего почтового ящика через Exchange, и будет напечатана, в частности, unique_body
, которая содержит основной текст электронного письма.,Вот пример вывода из print(soup)
:
<html><body><div>
<div><span lang="en-US">
<div style="margin:0;"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt;">Hey John,</span></font></div>
<div style="margin:0;"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt;"> </span></font></div>
<div style="margin:0;"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt;">Here is a test email</span></font></div>
</span></div>
</div>
</body></html>
Моя конечная цель - напечатать его:
Hey John,
Here is a test email
Из того, что я читаю в документации BeautifulSoup,процесс очистки попадает между моей строкой "Soup ="
" и последней строкой print
.
Моя проблема в том, что для запуска фрагмента очистки BeautifulSoup требуется класс и теги h1, такие как: name_box = soup.find(‘h1’, attrs={‘class’: ‘name’})
, однако из того, что у меня сейчас есть, у меня ничего этого нет.
Как кто-то новичок в Python, как мне поступить так?