J'ai la syntaxe python suivante à l'aide de magnifiquesSoup pour la raclage Web.
page = soup.find('span', attrs={'class':'h-text-lg'})
4 Réponses :
Vous pouvez utiliser le fait que les expressions booléennes de Python renvoient la dernière valeur évaluée: si Aucun code> est tellement beaucoup mieux dans ce cas. p>
page code> est l'élément trouvé ou
Aucun code>, tout code qui s'appuie sur
page code> peut Vérifiez simplement
si page code> ou
sinon page code>. Cela ne fonctionnera pas si
page code> est
[0] code> car
bool ([0]) code> est
vrai code>. p> p>
Si vous ne voulez pas qu'il retourne En d'autres termes: p> Aucun code> Si la classe n'existe pas, vous pouvez simplement le modifier si la valeur n'est pas une valeur de vérité
Utilisez un si code> Énoncé:
page = SOUP.Find ('SPAN', ATTRAS = {'Classe': 'H-TEXT-LG'}) ou [0] CODE>
def find(self, name=None, attrs={}, recursive=True, text=None,
**kwargs):
"""Look in the children of this PageElement and find the first
PageElement that matches the given criteria.
All find_* methods take a common set of arguments. See the online
documentation for detailed explanations.
:param name: A filter on tag name.
:param attrs: A dictionary of filters on attribute values.
:param recursive: If this is True, find() will perform a
recursive search of this PageElement's children. Otherwise,
only the direct children will be considered.
:param limit: Stop looking after finding this many results.
:kwargs: A dictionary of filters on attribute values.
:return: A PageElement.
:rtype: bs4.element.Tag | bs4.element.NavigableString
"""
r = None
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
if l:
r = l[0]
return r
Si vous demandez comment assigner
[0] code> à
page code> dans l'événement que
soupe.Find code> retourne
Aucun code>, vous pourrait faire
page = soupe.find ("Span", attrsix = {"Classe": "h-text-lg"}) ou [0] code>.