Преобразование HTML в обычный текст с сохранением точного расположения подразделений - PullRequest
0 голосов
/ 06 апреля 2020

Я перепробовал все текущие html инструменты для преобразования текста, такие как html2text, beautifulsoup. При преобразовании html в текст они теряют расположение блоков div и печатают текст последовательно.

Для html кода, подобного этому

<div style="position:absolute; border: textbox 1px solid; writing-mode:lr-tb; left:107px; top:372px; width:89px; height:126px;"><span style="font-family: b\'TimesNewRomanPS-BoldMT\'; font-size:15px">

<br>Location :
<br>Date:
<br>Date_Assigned:
<br>Date_Inspected:
</div>
<div style="position:absolute; border: textbox 1px solid; writing-mode:lr-tb; left:215px; top:375px; width:248px; height:140px;"><span style="font-family: b\'TimesNewRomanPS-BoldMT\'; font-size:15px">
<br>USA
<br>July 4, 2018
<br>July 5, 2018
<br>July 9, 2018


Вывод простого текста, который я получаю от get_text () Beautifulsoup, выглядит следующим образом

Location : Date: Date_Assigned:Date_Inspected:USA July 4, 2018July 5, 2018July 9, 2018

Из html2text, вывод выглядит следующим образом

Location :  
Date:  
Date_Assigned:  
Date_Inspected:


USA  
July 4, 2018  
July 5, 2018  
July 9, 2018

В то время как ожидаемый результат, если принять во внимание расположение двух div, равен

<div style="position:absolute; border: textbox 1px solid; writing-mode:lr-tb; left:107px; top:2px; width:89px; height:126px;"><span style="font-family: b\'TimesNewRomanPS-BoldMT\'; font-size:15px">

<br>Location :
<br>Date:
<br>Date_Assigned:
<br>Date_Inspected:
</div>
<div style="position:absolute; border: textbox 1px solid; writing-mode:lr-tb; left:215px; top:2px; width:248px; height:140px;"><span style="font-family: b\'TimesNewRomanPS-BoldMT\'; font-size:15px">
<br>USA
<br>July 4, 2018
<br>July 5, 2018
<br>July 9, 2018

Можно ли преобразовать в текст, сохраняя местоположение div, используя красивый суп или любые другие доступные python пакеты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...