Я пытаюсь очистить тело от HTML любого веб-сайта, и это работает, если тег html просто <html>
, но если он включает какие-либо атрибуты (например: <html lang="en">
), тогда он не поднимаетфакт наличия html-тега.
Можно ли как-нибудь обойти это и заставить его игнорировать какие-либо атрибуты и увидеть, что тег еще есть?
note: причина, по которой я использую отдельные структуры, заключается в дальнейшем расширении, поскольку я совершенствуюсь и узнаю больше о том, как работают Go и эти библиотеки
Вот структуры:
type html struct {
Body body `xml:"body"`
}
type body struct {
Content string `xml:",innerxml"`
}
Вотметод, который печатает все
//ShowBody prints the body to console
func ShowBody(url string) {
html := html{}
xml.Unmarshal(GetHTTP(url), &html)
fmt.Println(html.Body.Content)
}
Функция GetHTTP использует ioutil и читает страницу из http-вызова. Остальная часть кода здесь, если необходимо: https://pastebin.com/rbxDLH2e
ожидается: печатает все тело в консоль
актуально: ничего не печатает, поскольку он не видит <html>
из-за атрибута lang