BeautifulSoup元素具有.text
属性(.get_text()
method的属性版本)。
BeautifulSoup还允许您访问属性等标签:
soup.firstparent.secondparent.dosomething #etc
现在,出于不幸但不可改变的原因,我的任务是访问您要访问的<text>
元素:
soup.firstparent.text.dosomething
#in this case, 'text' tag is child node of the 'firstparent' tag
然而,这与BeautifulSoup提供的.text
属性冲突。问题是 - 如何访问名为text
的标记,并避免与BeautifulSoup属性冲突?
答案 0 :(得分:0)
属性访问是一种便利;您仍然可以使用.find()
来搜索代码:
soup.firstparent.find('text').dosomething
.find('text')
调用将搜索第一个<text>
标记,而不是调用BeautifulSoup .text
属性。
演示:
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''
... <div><text>Hello world!</text></div>''')
>>> soup.div.text
u'Hello world!'
>>> soup.div.find('text')
<text>Hello world!</text>