Как сохранить тег </br> при чтении HTML-файла в Python - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь читать и редактировать HTML-файл.Я использую BeautifulSoup для редактирования html на месте, но я обнаружил, что еще до того, как «суп» был сделан, мой html файл уже был интерпретирован функцией read ().Например:

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered)">
</head>

<a href="Aug_24_2018.txt"><b>Aug 24 2018: Report</a></br>
<a href="Aug_23_2018.txt"><b>Aug 23 2018: Report</a></br>
<a href="Aug_22_2018.txt"><b>Aug 22 2018: Report</a></br>
<a href="Aug_21_2018.txt"><b>Aug 21 2018: Report</a></br>
<a href="Aug_20_2018.txt"><b>Aug 20 2018: Report</a></br>

</html>

становится следующим:

<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered)">
</head>

<a href="Aug_24_2018.txt"><b>Aug 24 2018: Report</a>
<a href="Aug_23_2018.txt"><b>Aug 23 2018: Report</a>
<a href="Aug_22_2018.txt"><b>Aug 22 2018: Report</a>
<a href="Aug_21_2018.txt"><b>Aug 21 2018: Report</a>
<a href="Aug_20_2018.txt"><b>Aug 20 2018: Report</a>

</html>

, который сильно отличается, поскольку разрушает форматирование и уничтожает все домены вместе.

Это код, который я использую для чтения:

with open("/data/report.html") as inf:
    txt = inf.read() #this is where the problem occurs
    soup = bs4.BeautifulSoup(txt, 'lxml') 

Я не вправе изменять форматирование исходного файла, поэтому я хочу максимально соответствовать емунасколько это возможно.Любые возможные решения для сохранения тега </br>?

1 Ответ

0 голосов
/ 24 августа 2018

Похоже, что кто-то не смог закрыть b-тег и добавил тег «/ br» по ошибке.Поскольку это недействительный HTML, я бы предостерег от его сохранения.Вместо этого подумайте о том, чтобы заменить его на, который, мы надеемся, был чьим-то намерением.Для этого я бы использовал текстовый редактор, например блокнот или vim.

При открытии файла HTML не изменяется при его чтении.

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