Comment obtenir le texte de la balise span dans BeautifulSoup
J'ai des liens ressemble à ceci
<div class="systemRequirementsMainBox">
<div class="systemRequirementsRamContent">
<span title="000 Plus Minimum RAM Requirement">1 GB</span> </div>
Je vais essayer d'obtenir 1 GB
à partir de là. J'ai essayé
tt = [a['title'] for a in soup.select(".systemRequirementsRamContent span")]
for ram in tt:
if "RAM" in ram.split():
print (soup.string)
Il sorties None
.
J'ai essayé a['text']
, mais il me donne KeyError. Comment puis-je résoudre ce problème et quelle est mon erreur?
Pouvez-vous partager les environs html? (ou l'url)
Oui juste un min svp
Essayez également
Eh bien, cela a fonctionné. Pourriez-vous poster une réponse s'il vous plaît, merci.
Êtes-vous sûr
Oui juste un min svp
Essayez également
soup.select_one("span[title*=RAM]").text
et si vous êtes une itération sur la liste que vous avez déjà le texteEh bien, cela a fonctionné. Pourriez-vous poster une réponse s'il vous plaît, merci.
Êtes-vous sûr
bs4.select()
sorties d'une Balise d'objet? Que fait ce code n': tt = [title for title in soup.select(".systemRequirementsRamContent span[title]")]
OriginalL'auteur GLHF | 2016-06-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un sélecteur css, tirant sur la durée que vous voulez en utilisant le titre du texte :
Qui trouve la span avec un titre attribut qui contient RAM, c'est équivalent à dire en python,
if "RAM" in span["title"]
.Ou à l'aide de trouver avec re.compiler
À obtenir toutes les données:
Qui vous donnera:
soup.select_one("span[title*=Space]").text
, afin d'atteindre 500 MO<span title="000 Plus Minimum Hard Disk Drive Space Requirement">500 MB</span> <div class="systemRequirementsTickOrCross"></div>
mais il imprimeHDD Space
que je ne comprends pas pourquoi.pouvez-vous ajouter un lien dans le html/url? Je pense qu'il y a peut être un autre s'étend sur le titre qui contient le texte de l'Espace
Oh, eh bien, c'est parce qu'il y a des balises span Disque et leurs textes sont
HDD Space
. Comment puis-je signaler que je ne veux que couvrent les balises dans le jeu du lien?Je veux dire que je dois signaler que cette classe
systemRequirementsSmallerBox sysReqGameSmallBox
, qui est le texte que je veux.Cool, pas de soucis. Aussi loin que css va, developer.mozilla.org/en/docs/Web/Guide/CSS/Getting_started/... vous montre beaucoup de ce que vous pouvez utiliser dans bs4, la pseudo-classe de mise en œuvre est nth-of-type, mais *= ^= > + ~ etc.. sont disponibles pour l'utilisation.
OriginalL'auteur Padraic Cunningham