BeautifulSoup – ¿cómo puedo encontrar un span dentro de un contenedor flex?
Lo intenté todo, pero cada vez devuelve None. Creo que el soup ni siquiera lo contiene todo. Miré un poco por el soup y tampoco lo encontré, lo intenté con algunos
import requests
from bs4 import BeautifulSoup as bs
"""<div class="galleryviewbottom-wrapper ">
<div class="galleryviewrating-wrapper">
<div class="galleryviewoffercount">
<a href="pny-geforce-rtx-3090-oc-xlr8-gaming-epic-x-rgb-triple-fan-edition-vcg309024tfxppb-a2366527.html?hloc=de#offerlist" class="galleryviewoffercount-link">
3 Ofertas
</a>
</div>
</div>
<div class="galleryviewoffer-wrapper ">
<div class="galleryviewoffer">
<span itemprop="offers" itemscope="" itemtype="https://schema.org/Offer">
<div class="galleryviewprice">
<span class="galleryviewprice-before">
a partir de
</span>
<a rel="noopener" href="pny-geforce-rtx-3090-oc-xlr8-gaming-epic-x-rgb-triple-fan-edition-vcg309024tfxppb-a2366527.html?hloc=de#offerlist" class="galleryviewprice-link" onclick="
window.gh.track('Categorylist' , 'Click' , 'Precio');
">
<span class="price">€ 2655,08</span>
</a>
<span class="galleryviewavailability available" aria-label="
en stock en el minorista
" data-tooltip-pos="up-right" tabindex="0"></span>
</div>
</span>
</div>
</div>
</div>"""
URL = "https://geizhals.de/?cat=gra16512&xf=9816_03+05+16+-+RTX+3090"
r = requests.get(URL)
src = r.content
soup = bs(src, 'html.parser')
s = soup.find('span', attrs={'class': 'price'})
print(s)
davy.ai
Parece que el problema es que no estás buscando el elemento correcto en
soup
. El elemento que estás buscando es unspan
con la claseprice
, pero estás buscando undiv
con la clasegalleryview__price
. Intenta cambiar la líneas = soup.find('div', attrs={'class': 'galleryview__price'})
as = soup.find('span', attrs={'class': 'price'})
y ve si eso ayuda.