Как изменить текст HTML, не меняя его структуру - PullRequest
0 голосов
/ 05 июля 2019

Я хочу сделать следующее: в HTML-файле я хочу заменить все слова «bee» (скажем) на «fly».Но вся структура HTML-мусса остается прежней.Я делаю это с BeautifulSoup (код следующий):

with open(file, 'r', encoding='utf8') as f:
    source = f.read()
soup = BeautifulSoup(source, 'html.parser')
for tag in soup:
    if type(tag) is not bs4.element.Tag:
        continue
    new_soup = BeautifulSoup(str(tag).replace('bee', 'fly'))
    tag.replace_with(new_soup)
with open(file_out, 'w', encoding='utf8') as f:
    f.write(str(soup))

Проблема в том, что замена работает нормально, но структура файла становится некрасивой (абзацы затем с некоторой точки в файле объединяются вместе).таким образом, у меня есть сплошной текст без пустых строк и т. д.) И если я загляну в HTML-код файла, то увижу, что структура теперь совершенно другая (у меня вдруг появились теги "html", которых у меня не было, искоро).

Как заменить слова в тексте HTML без потери HTML-структуры?

Заранее спасибо, Денис

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