-1
votes

Beautifulsoup si vous ne trouvez pas le retour 0 au lieu de personne

J'ai la syntaxe python suivante à l'aide de magnifiquesSoup pour la raclage Web.

page = soup.find('span', attrs={'class':'h-text-lg'})


1 commentaires

Si vous demandez comment assigner [0] à page dans l'événement que soupe.Find retourne Aucun , vous pourrait faire page = soupe.find ("Span", attrsix = {"Classe": "h-text-lg"}) ou [0] .


4 Réponses :


1
votes

Vous pouvez utiliser le fait que les expressions booléennes de Python renvoient la dernière valeur évaluée: xxx

mais pourquoi? ayant Aucun est tellement beaucoup mieux dans ce cas.

si page est l'élément trouvé ou Aucun , tout code qui s'appuie sur page peut Vérifiez simplement si page ou sinon page . Cela ne fonctionnera pas si page est [0] car bool ([0]) est vrai .


0 commentaires

0
votes

Si vous ne voulez pas qu'il retourne Aucun Si la classe n'existe pas, vous pouvez simplement le modifier si la valeur n'est pas une valeur de vérité

En d'autres termes: xxx


0 commentaires

0
votes

Utilisez un si Énoncé: xxx


0 commentaires

0
votes

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


0 commentaires