Переформатировать вывод Beautiful Soup, чтобы включить CSS - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь разобрать текст электронных писем, чтобы ускорить мой рабочий процесс с использованием Python.Сначала я сохраняю электронную почту .htm на моем локальном диске.Затем я хочу попытаться извлечь определенные фрагменты информации из таблицы в электронном письме с помощью Jupyter Notebook.Всякий раз, когда я создаю суп, результатом является разнесенное текстовое поле.Я не могу использовать этот суп, чтобы сделать правильные вызовы HTML для извлечения данных.Как я могу переформатировать суп?

.htm файл уже текстовый, но я все же хотел бы использовать Beautiful Soup, чтобы помочь мне разобрать текстовое поле.Должен ли я попробовать другой метод синтаксического анализа?

from bs4 import BeautifulSoup
raw_file = open(r"C:\Users\Desktop\Example.htm").read()
soup = BeautifulSoup(raw_file, 'lxml')
print(soup)

Я ожидал, что файл супа отформатирован правильно, вместо этого это то, что возвращает оператор print:

<html><body>
<p>ÿþh t m l   x m l n s : v = " u r n : s c h e m a s - m i c r o s o f t - c o m : v m l " 

 x m l n s : o = " u r n : s c h e m a s - m i c r o s o f t - c o m : o f f i c e : o f f i c e " 

 x m l n s : w = " u r n : s c h e m a s - m i c r o s o f t - c o m : o f f i c e : w o r d " 

 x m l n s : m = " h t t p : / / s c h e m a s . m i c r o s o f t . c o m / o f f i c e / 2 0 0 4 / 1 2 / o m m l " 

 x m l n s = " h t t p : / / w w w . w 3 . o r g / T R / R E C - h t m l 4 0 " &gt; 





 h e a d &gt; 

 m e t a   h t t p - e q u i v = C o n t e n t - T y p e   c o n t e n t = " t e x t / h t m l ;   c h a r s e t = u n i c o d e " &gt; 

 m e t a   n a m e = P r o g I d   c o n t e n t = W o r d . D o c u m e n t &gt; 

 m e t a   n a m e = G e n e r a t o r   c o n t e n t = " M i c r o s o f t   W o r d   1 5 " &gt; 

 m e t a   n a m e = O r i g i n a t o r   c o n t e n t = " M i c r o s o f t   W o r d   1 5 " &gt; 


 b a s e

Когда я вызываю -

print(raw_file)

следующие возвраты:

ÿþ<html xmlns:v="urn:schemas-microsoft-com:vml"

xmlns:o="urn:schemas-microsoft-com:office:office"

xmlns:w="urn:schemas-microsoft-com:office:word"

xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"

xmlns="http://www.w3.org/TR/REC-html40">



<head>

<meta http-equiv=Content-Type content="text/html; charset=unicode">

<meta name=ProgId content=Word.Document>

<meta name=Generator content="Microsoft Word 15">

<meta name=Originator content="Microsoft Word 15">

<base
...