Удаляем ненужные теги в тексте при помощи Python
Привет, друзья! В сегодняшней статье мы рассмотрим как удалить все внутренние HTML-теги из строки и оставить только внешние, например, сохранить тег p, но убрать все вложенные теги, такие как b, и другие. Это может понадобиться, если вы хотите очистить текст от форматирования или подготовить его к публикации в системе, где HTML не поддерживается.
Зачем это нужно?
Представьте ситуацию: вы получили HTML-текст из CMS, блога или API, и внутри абзаца есть разное форматирование — жирный, курсив, ссылки и т. д. Но вам нужен просто чистый текст внутри. Вручную это делать долго, а автоматизация с помощью Python позволяет быстро обработать любое количество строк.
Как это сделать?
Для удаления всех внутренних тегов мы можем воспользоваться двумя подходами:
- Через регулярные выражения (re)
- Через библиотеку BeautifulSoup
1. Удаление тегов с помощью модуля re
Этот способ подходит, если вам нужен быстрый результат и нет сложной вложенности тегов.
Привет, друзья! Сегодня я расскажу вам, как работать с форматом JSON в Python. Это очень полезный навык, особенно если вы работаете с API, собираете данные из интернета или обмениваетесь информацией между разными системами. ' {cleaned_text} 'import re
html = '
# Удаляем все HTML-теги
cleaned_text = re.sub(r']+>', '', html)
# Оборачиваем обратно в
result = f'
print(result)
Результат:
Привет, друзья! Сегодня я расскажу вам, как работать с форматом JSON в Python. Это очень полезный навык, особенно если вы работаете с API, собираете данные из интернета или обмениваетесь информацией между разными системами.
2. Использование BeautifulSoup
Если ваш HTML более сложный или содержит вложенные структуры, то лучше использовать библиотеку BeautifulSoup. Она аккуратно извлечёт текст из HTML и позволит сохранить нужные теги.
Привет, друзья! Сегодня я расскажу вам, как работать с форматом JSON в Python. Это очень полезный навык, особенно если вы работаете с API, собираете данные из интернета или обмениваетесь информацией между разными системами. ' {text_only} 'from bs4 import BeautifulSoup
html = '
soup = BeautifulSoup(html, 'html.parser')
text_only = soup.get_text()
result = f'
print(result)
Какой способ выбрать?
Если вы хотите научиться применять Python для решения повседневных задач, рекомендую пройти курс «Написание лайфхаков на Python». Там вы узнаете, как автоматизировать рутину, работать с файлами, парсить данные и многое другое!