Я хочу получить данные с веб-сайта, который использует <br>
. В html, проанализированном с помощью Beautifulsoup4, иногда у меня следующий шаблон:
"<p class=some_class>text_1. text_2 (text_3<span class=GramE>)</span>
<br>
text_4,<span style='mso-fareast-font-family:"Arial Unicode MS"'>
</span>text_5.</p>"
Но если бы сайт был написан лучше, он бы выглядел так:
"<p class=some_class>text_1. text_2(text_3<span class=GramE>)</span
</p> <p class=some_class>
text_4,<span style='mso-fareast-font-family:"Arial Unicode MS"'>
</span>text_5.</p>
Чтобы извлечь нужные мне строки, я бы извлек весь текст внутри каждого <p>
.
Однако теперь строки, которые я хочу разделить, разделены <br>
.
У меня следующий вопрос: как я могу использовать <br>
, чтобы отделить интересующие меня части строки? Я имею в виду, я хочу что-то вроде [text_1.+text_2+text_3, text_4+text_5.]
.
Я явно спрашиваю об использовании <br>
, так как это единственный найденный элемент, который разделяет интересующие меня строки. Более того, в некоторых других частях сайта у меня есть <br/>
, разделяющий интересующие меня строки вместо <br>
.
Я не могу решить эту проблему с помощью функции replace (), поскольку мой объект - это тег froom bs4. Кроме того, использование find ("br") из bs4 дает мне "<br/>
", а не текст, который я хочу. Таким образом, ответы на этот вопрос не совсем то, что я хочу. Я думаю, что одним из способов было бы преобразовать тег из bs4, который мне нужен, в html, затем изменить «<br/>
» с помощью функции replace () и, наконец, преобразовать его обратно в элемент bs4. Однако я не знаю, как сделать это изменение, и я также хочу знать, есть ли более простой и короткий способ сделать это.