Подтвердить что ты не робот

BeautifulSoup innerhtml?

Скажем, у меня есть страница с div. Я легко могу получить этот div с soup.find().

Теперь, когда у меня есть результат, я хотел бы напечатать WHOLE innerhtml этого div: я имею в виду, мне нужна строка со всеми тегами html и текстом all toegether, точно так же, как строка Я бы получил javascript с obj.innerHTML. Возможно ли это?

4b9b3361

Ответ 1

Существует недокументированная функция, которая приближает метод DOMs innerHTML:

def innerHTML(element):
    return element.decode_contents(formatter="html")

Это прошло все мои тестовые примеры. Возможно, кто-то должен обновить документы?

Ответ 2

Один из вариантов мог бы использовать что-то вроде этого:

 innerhtml = "".join([str(x) for x in div_element.contents]) 

Ответ 3

Как насчет только unicode(x)? Кажется, работает для меня.

Изменить: Это даст вам внешний HTML, а не внутренний.

Ответ 4

Если вам нужен только текст (без HTML-тегов), вы можете использовать .text:

soup.select("div").text