BeautifulSoup: il suffit de pénétrer à l'intérieur d'une balise, n'importe comment beaucoup d'enfermer les tags il y a

Je suis en train de gratter tous les intérieurs html à partir de la <p> éléments dans une page web à l'aide de BeautifulSoup. Il y a des balises internes, mais je n'aime pas, je veux juste que l'intérieur du texte.

Par exemple, pour:

<p>Red</p>
<p><i>Blue</i></p>
<p>Yellow</p>
<p>Light <b>green</b></p>

Comment puis-je extraire:

Red
Blue
Yellow
Light green

Ni .string ni .contents[0] fait ce dont j'ai besoin. Ni ne .extract(), parce que je ne veux pas avoir à spécifier les balises internes à l'avance - je veux parler avec n'importe qui peut se produire.

Est-il "juste obtenir le visible HTML" type de méthode de BeautifulSoup?

----Mise à JOUR------

Sur des conseils, essayer:

soup = BeautifulSoup(open("test.html"))
p_tags = soup.findAll('p',text=True)
for i, p_tag in enumerate(p_tags): 
    print str(i) + p_tag

Mais ça n'aide pas - il imprime:

0Red
1

2Blue
3

4Yellow
5

6Light 
7green
8
InformationsquelleAutor AP257 | 2010-06-02