@VaniaPythonToster

Как достать HTML теги из строки в Python?

Есть задача: достать только html теги из текста.
Например,
<html> 
  <head>
    <title>Test</title>
  </head>
  <body class="body" style="color: red;">
    <p id="1">Test</p>
    <p id="2">Test</p>
  </body>
</html>


Результат должен быть
<html><head><title></title></head><body><p></p><p></p></body></html>

Нужно также убрать все атрибуты внутр тега. Написал свое решение, но оно работает долго. На одну веб страницу уходит примерно 0,5 секунды. Может кто знает готовые встроенные методы в bs4, selenium или любые другие библиотеки?
  • Вопрос задан
  • 845 просмотров
Решения вопроса 1
longclaps
@longclaps
Я знаю готовые методы, встроеные в питон.
import re

s = """
<html> 
  <head>
    <title>Test</title>
  </head>
  <body class="body" style="color: red;">
    <p id="1">Test</p>
    <p id="2">Test</p>
  </body>
</html>"""

print(''.join(re.findall(r'</?[a-z]\w*\b|>', s, flags=re.I | re.M)))

А ты что тут делаешь?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы