Comment obtenir un texte à partir de l'intérieur d'un <span class=“className”>TEXTE je VEUX</span> en Python
Comment obtenir le texte comme l'indique le Titre, qui s'élève à 21,427
que par la capture d'écran ci-dessous.
J'ai essayé et ça ne fonctionne pas:
rating_count = soup.find("span", attrs={'class':'rating_count'})
print rating_count
C'est la sortie
FWIW, les gens ici préfèrent le texte de l'erreur elle-même à une capture d'écran de la trace de la pile. 🙂
Il a obtenu, affichera l'erreur à l'avenir
Il a obtenu, affichera l'erreur à l'avenir
OriginalL'auteur user1406716 | 2015-12-13
Vous devez vous connecter pour publier un commentaire.
Cela va faire exactement ce que vous cherchez.
ÉDITÉ:
Selon le code que vous avez fournis. On dirait qu'il n'y est pas un en-tête défini, google n'envoie pas les informations que vous recherchez. Par conséquent, BeautifulSoup pouvait pas trouver la durée, car il n'existait pas réellement. Essayez, ça marche pour moi:
Résultat:
Il fonctionne de la même manière,il n'importe pas de savoir si ou non la durée est imbriqué. J'ai vérifié le code, et le problème auquel vous êtes confronté est d'environ urllib2 et les en-têtes et pas BeautifulSoup en tant que tel. J'ai édité mon post précédent. Heureusement, il travaille aussi pour vous.
OriginalL'auteur David A
Vous obtenez ce message, car vous avez mal tapé ce que la durée de la classe. Si vous regardez de près l'image que vous avez posté, il est dit que la durée de la classe d' cote-comte, alors que vous avez tapé rating_count en BeautifulSoup. Il recherche donc des rating_count, ne le trouve pas, et retourne
NoneType
.appDict['rating_count'] = rating_count.text
. Depuisrating_count
est un NoneType (par Exception, il obtient), ce sera un échec.Il a la classe entré incorrectement, la première ligne de mon édité poste fixe. Il se NoneType parce que "rating_count' n'est pas la durée de la classe. C'est la cote-comte
Désolé, je n'ai pas remarqué.
Toujours pas de travail pour moi, voici mon code complet: pastebin.com/FYKLANJK
OriginalL'auteur n1c9
Vous essayer d'obtenir du contenu de plusieurs containers dans une page? Pouvez-vous faire un décompte de la durée de la classe: notation-comte dans les DOM, et de voir s'il y a d'autres éléments qui utilisent le même nom de classe. Il se peut que certains autres éléments avec le même nom de la classe est VIDE. Si oui, vous pouvez faire un if-ELSE pour affecter la valeur 'null' dans votre attribut.
OriginalL'auteur Wei Bin Fong