renderContents in Beautifulsoup (Python) - PullRequest
0 голосов
/ 15 июня 2011

Код, который я пытаюсь заставить работать:

h = str(heading)
# '<h1>Heading</h1>'
heading.renderContents()

Я получаю эту ошибку:

Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
print h.renderContents()
AttributeError: 'str' object has no attribute 'renderContents'

Есть идеи?

У меня есть строка с HTML-тегами, и мне нужно почистить ее, если есть другой способ сделать это, пожалуйста, предложите ее.

1 Ответ

1 голос
/ 15 июня 2011

Ваше сообщение об ошибке и пример кода не совпадают.Вы говорите, что звоните:

heading.renderContents()

Но в вашем сообщении об ошибке говорится, что вы звоните:

print h.renderContents()

Что говорит о том, что, возможно, у вас есть ошибка в вашем коде, пытаясь вызватьrenderContents() для строкового объекта, который не определяет этот метод.

В любом случае, было бы полезно, если бы вы проверили, какой тип объекта heading, чтобы убедиться, что это действительно экземпляр BeautifulSoup.Это работает для меня с BeautifulSoup 3.2.0:

from BeautifulSoup import BeautifulSoup
heading = BeautifulSoup('<h1>heading</h1>')
repr(heading)
# '<h1>heading</h1>'
print heading.renderContents()
# <h1>heading</h1>
print str(heading)
# '<h1>heading</h1>'
h = str(heading)
print h
# <h1>heading</h1>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...