sélection d'un deuxième enfant dans la belle soupe de soupe de.sélectionnez?

J'ai:

<h2 id='names'>Names</h2>
<p>John</p>
<p>Peter</p>

maintenant, quelle est la meilleure façon d'obtenir la Pierre ici si j'ai la balise h2 déjà? Maintenant que j'ai essayé:

soup.select("#names > p:nth-child(1)")

mais ici, je reçois nth-child NotImplementedError:

NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.

Donc je ne suis pas sûr de ce qui se passe ici. La deuxième option est de simplement obtenir tous 'p' de la balise enfants et dur, sélectionnez [1], mais ensuite, il y a un danger de l'indice de gamme qui aurait besoin d'entourer chaque tentative pour obtenir Peter avec try/except qui est un peu idiot.

Toute façon pour sélectionner nth-child avec de la soupe.la fonction select ()?

EDIT:
remplacement nth-child avec nth-of-type semblait faire l'affaire, de sorte que la ligne correcte est:

soup.select("#names > p:nth-of-type(1)")

ne sais pas pourquoi il n'accepte pas nth-child, mais il semble que les deux nth-child et nth-of-type les mêmes résultats.

OriginalL'auteur Granitosaurus | 2014-07-13