Есть ли эквивалент InnerText в BeautifulSoup? - PullRequest
28 голосов
/ 25 января 2012

С кодом ниже:

soup = BeautifulSoup(page.read(), fromEncoding="utf-8")
result = soup.find('div', {'class' :'flagPageTitle'})

Я получаю следующий HTML:

<div id="ctl00_ContentPlaceHolder1_Item65404" class="flagPageTitle" style=" ">
<span></span><p>Some text here</p>
</div>

Как я могу получить Some text here без каких-либо тегов? Есть ли эквивалент InnerText в BeautifulSoup?

Ответы [ 3 ]

34 голосов
/ 25 января 2012

Все, что вам нужно, это:

result = soup.find('div', {'class' :'flagPageTitle'}).text
3 голосов
/ 25 января 2012

Вы можете использовать findAll(text=True) только для поиска текстовых узлов.

result = u''.join(result.findAll(text=True))
2 голосов
/ 25 января 2012

Вы можете найти <p> и получить его текст:

soup = BeautifulSoup.BeautifulSoup(page.read(), fromEncoding="utf-8")
result = soup.find('div', {'class': 'flagPageTitle'})
result = result.find('p').text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...