Я хотел извлечь содержимое сообщения электронной почты. Он находится в html-содержимом, используется BeautifulSoup, чтобы получить From, To и тему. При извлечении содержимого тела он извлекает только первую строку. Он оставляет оставшиеся строки и абзац.
Я что-то здесь упускаю, как читать все строки/абзацы.
КОД:
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 я получаю символ = в конце каждой строки, а также отображается   ; , <. Как их преодолеть.
Извлеченный текст:
Уважаемый во-первых, все мы в GenWatt рады иметь xyz в качестве клиента. Я хотел бы представиться в качестве вашего менеджера по работе с клиентами. Если у вас есть какие-либо вопросы, пожалуйста, позвоните мне или напишите мне по адресу ash= [email protected]. Вы также можете связаться с GenWatt по следующим номерам: Основной: 810-543-1100Продажи: 810-545-1222Обслуживание и поддержка клиентов: 810-542-1233Факс: 810-545-1001Я уверен, что GenWatt будет служить вам хорошо, и надеюсь увидеть нашу отношения =