La commande suivante:
volume = soup.findAll("span", {"id": "volume"})[0]
donne:
<span class="gr_text1" id="volume">16,103.3</span>
lorsque j'émets une impression (volume).
Comment puis-je obtenir uniquement le numéro?
Extrayez la chaîne de l'élément:
volume = soup.findAll("span", {"id": "volume"})[0].string
Utilisation de sélecteur css :
>>> soup.select('span#volume')[0].text
u'16,103.3'
Juste pour ajouter, j'ai également trouvé que .string
Ne fonctionnait pas bien quand il y avait <br>
Dans le texte.
PAR EXEMPLE:
<div class = "Lines">
<span> First Line <br> Second Line <br> Third Line </span>
</div>
Si nous faisons une soup.find("div",attrs={"class":"Lines}).span.string
nous obtenons une None
Mais une soup.find("div",attrs={"class":"Lines}).span.text
on obtient
First Line Second Line Third Line
Je pense que .string
Donne un objet NavigatableString
et .text
Donne un objet unicode.