Utilisation de BeautifulSoup

Bonjour,

Ma question concerne l'extraction de données a partir d'un site internet.

Je souhaite simplement relever la valeur de la cryptomonnaie ETHERUM - ETH avec le site internet :
https://www.blockchain.com/prices/ETH?timeSpan=1&scale=0&style=line

Le code html est :

<div width="fit-content" class="sc-1j9nxnw-0 dTjqWh">
<span color="grey900" class="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 kKnZAp" opacity="1">
<span color="grey800" class="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 r2g87f-6 fuptWv iTPDUE" opacity="1">USD2,621.66</span>
</span>
</div> 


Je souhaite récupérer la valeur USD2,621.66.

Mon code python est :

import requests 
from bs4 import BeautifulSoup

url="https://www.blockchain.com/prices/ETH?timeSpan=1&scale=0&style=line"
reponse = requests.get(url)
page = reponse.content 
soup = BeautifulSoup(page, "html.parser")
etherum=soup.find_all("span", class_="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 r2g87f-6 fuptWv >>>iTPDUE")
for cours in etherum : 
    print(cours)


Resultat :

<span class="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 r2g87f-6 fuptWv iTPDUE" color="grey800" opacity="1"></span>


Et aucune trace de la valeur que je recherche !

Merci de votre attention et de votre réponse; je suis bloqué.

3 réponses

  1. Contributeur
    comment as-tu obtenu le code html que tu montres?
    ce n'est pas ce que je vois dans la page:
    <div width="fit-content" class="sc-1j9nxnw-0 dTjqWh">
    <span color="grey900" class="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 kKnZAp" opacity="1">
    <span color="grey800" class="sc-1ryi78w-0 jLizcp sc-1uwp5tk-0 r2g87f-6 fuptWv iTPDUE" opacity="1">
    </span>
    </span>
    </div>
    1. Modérateur
      Bonjour,

      Si on modifie légèrement ton code

      import requests 
      from bs4 import BeautifulSoup
      
      url="https://www.blockchain.com/prices/ETH?timeSpan=1&scale=0&style=line"
      reponse = requests.get(url)
      page = reponse.content 
      soup = BeautifulSoup(page, "html.parser")
      ethereum = soup.find_all("span")
      print(ethereum)


      ... on ne retrouvera pas le montant que tu cherches. En inspectant le site, on voir que le montant que tu veux récupérer est dans du Flex. Du coup, il faut peut être regarder un peu ce qui est indiqué cette discussion, car si ton montant n'est pas stocké dans
      soup
      tu ne risques pas de le retrouver. Passer par
      selenium
      te permettra peut être de tout récupérer...

      Bonne chance