Как убрать html тэги при получения ответа на http запрос в python3?

Приветствую!
есть http запрос написанный на питоне.

import urllib.request
ip = input("Server address: ")
url = 'https://' + ip + ':1337/?action=actionNames'
print("Request progress to ", url)
res = urllib.request.urlopen(url)
text = res.read()
print(text)


в ответ получаю
b"<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /></head><body><p>50 action from 120</p></body></html>"

Можно ли как-то убрать html тэги?
  • Вопрос задан
  • 2472 просмотра
Решения вопроса 2
@radioxoma
Грязное и мокрое решение в лоб. Everybody stand back! [ru]
>>> import re
>>> res = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /></head><body><p>50 action from 120</p></body></html>"
>>> fineprint = re.search(r"(?<=</head><body><p>).+(?=</p></body></html>)", res).group()
>>> print(fineprint)
'50 action from 120'

Если же нужно разбирать нечто более сложное, то используйте нормальный парсер, как советуют другие отвечающие.
Ответ написан
loader777
@loader777
Python/django разработчик
Я использую эту библиотеку (https://github.com/ilyutoev/python-html-purifier) - это мой форк под третий питон.

Указываем ей какие теги оставлять либо пустые настройки - отдаем строку, возвращает только текст внутри.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Meehalkoff
@Meehalkoff
Ответ написан
Комментировать
vvpoloskin
@vvpoloskin
Инженер связи
Можно, библиотеки для обработки dom - httpparser, lxml, beautifullsoup, grab, для регулярных выражений - re, также можно просто найти и заменить методом replace в вашей строке
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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