Comment je peut trouver la class d'un h1 et faire un print de se contenue ?

Signaler
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
-
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
-
Bonjour, tout est dans le titre et si vous avez pas compris j'explique mieux en dessous.


Voila, imaginon que j'ai du code html

<h1 class="1234">Mon texte</h1>

Comment je peut faire pour récuper la class de cette élément et afficher la valeur "Mon text"
C'est bien du python et je voudrais savoir le faire avec BeautifulSoup merci d'avance

4 réponses

Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787
bonjour,
as-tu essayé ceci: https://riptutorial.com/fr/beautifulsoup
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
>
Messages postés
31121
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 janvier 2021

Bonjour, voici mon code mais apres comme je vous les dit le mot "class_" n'est pas reconnu
wikiadresse = input("Adresse: ")
req = requests.get(wikiadresse)
soup = BeautifulSoup(req.text, "html.parser")
print(soup.text.title())
Messages postés
857
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
21 janvier 2021
96 >
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

je vous l'ai dit .... (avoir dit)
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787 >
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

qu'as-tu essayé?
"il ne trouve pas la valeur class_": que se passe-t'il?
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
>
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021

Ben la valeur n'est pas reconnu elle est sur ligné en rouge
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787 >
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

ben peux-tu montrer ton code?
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

Oui, mais le probléme c'est qu'il ne trouve pas la valeur class_
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

Pardon voici tout mon code
Pour info le h1 me retourne none
Et le print(soup.text.title()) me retourne tout le code de la page

import time
import requests
import urllib
from bs4 import BeautifulSoup

usernamevalide = "Nartys"
passwordvalide = "wikicheat"

def main() -> object:
    print("Bienvenue sur WikiCheat fait par Nartys en version 0.1")
    print("Veuillez entrere vos identifiants est mot de passe")
    username = input("Identifiant: ")
    if username == usernamevalide:
        password = input("Mot de passe: ")
        if password == passwordvalide:
            print("Connexion réussit vous pouvez utiliser le logiciel sans probléme")
            choise()

        elif password != passwordvalide:
            print("Mot de passe inconu")

    elif username != usernamevalide:
        print("Vous n'être pas reconnu")
        print("Veuilez réessayer")


def choise():
    print("Voici les options disponible sur se logiciel")
    print("1 : Avoir toutes les informations (pour son résumé de francais car on a la flemme de le faire)")
    choises = input("Votre choix: ")
    if choises == "1":
        print("Veuillez saisir l'adresse de votre page wikipédia (ce ne fonctionne pas sur tout les sites)")
        adress()
    if choises == "2":
        print("Cette fonctionnalité n'a pas encore était créer")
    if choises == "3":
        print("Cette fonctionnalité n'a pas encore était créer")


def adress():
    times: int = 0
    wikiadresse = input("Adresse: ")
    print(wikiadresse)
    if wikiadresse.__contains__("https"):
        print("Analyse de votre adresse")
        while times != 10:
            time.sleep(0.1)
            times = times + 1
            print(times)
        print("L'opération est fini (ps: ca fait rien c'était juste pour patienté ;) )")
        req = requests.get(wikiadresse)
        soup = BeautifulSoup(req.text, "html.parser")
        h1 = soup.find("h1", {"class": "firstHeading"})
        print(soup.text.title())
        print(h1.string)

    if "https" not in wikiadresse:
        if "www" in wikiadresse:
            print("Veuillez utiliser https plutôt que www")
        print("Désolé nous ne prenons pas les adresses non sécurisé")
if __name__ == '__main__':
    main()
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787
tu nous montres un exemple assez complexe que nous ne pouvons pas facilement tester.
ne peux-tu pas partager un cas utilisable?

si class="1234", bizarre de chercher "firstHeading", non?
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
>
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021

non c'est normal c'est pour tester un truc et la class c'est wikipedia
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787 >
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021

un exemple simple:
import requests
from bs4 import BeautifulSoup
req = requests.get("https://www.unisys.com/offerings/specialty/coronavirus-id-4684")
soup = BeautifulSoup(req.text, "html.parser")
h1 = soup.find("h1", class_ = "detailh1")
print(h1)
print(h1.get_text())
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
>
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021

Et j'aurais une autre question comment je peut faire clear la console python ? par exemple je fais un
print("ok")
time.sleep(1)
et la je clear ?
Messages postés
11
Date d'inscription
mercredi 2 décembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

Ok merci j'avais juste mal compris un truc