No es posible obtener todo el código HTML al usar requests.get o webdriver.get.
Estoy intentando extraer 100,0%
del atributo style
:
html
<div class="w-full mt-1 bg-white rounded-lg shadow">
<div class="py-1 bg-purple-900 rounded-lg" style="width: 100.0%"></div>
</div>
La respuesta de la fuente de la página no llega tan profundo en la página, he intentado:
def ScrapePercents():
URL = "https://citystrides.com/cities/26013/search_striders?page=1"
page = requests.get(URL)
<pre><code>soup = BeautifulSoup(page.content, "html.parser")
results = soup.find("div", class_="flex flex-wrap space-y-4")
percents = results.find_all("div", class_="py-1 bg-purple-900 rounded-lg")
pl = []
for percent in percents:
cleantext = percent['style'].lstrip('width: ')
percent_neat = (cleantext.strip('%'))
percent_float = float(percent_neat)
pl.append(percent_float)
print("pl as it appends ", pl)
return pl
</code></pre>
y
def Selenium():
print("shell for selenium")
pl = "shell for selenium percents"
driver = webdriver.Chrome("chromedriver.exe")
driver.get("https://citystrides.com/cities/26013/search<em>striders")
content = driver.page</em>source
<pre><code>soup = BeautifulSoup(content)
results = soup.find("div", class_="flex flex-wrap space-y-4")
return soup
</code></pre>
El segundo código se establece solo para ver si el contenido incluye el div
anidado. Estoy luchando por averiguar cómo obtener el div
anidado.
davy.ai
Para raspar los
div
anidados con el atributostyle
que contengan100.0%
, puede modificar el código agregando un loop dentro del loop existente para buscar el elementodiv
anidado. Así es como puede hacerlo:En este código modificado, primero verificamos si el atributo
style
del elementodiv
externo contienewidth: 100.0%
. Si es así, buscamos el elementodiv
anidado usandopercent.find("div")
y extraemos su atributostyle
para obtener el ancho como una cadena de porcentaje. Luego, convertimos la cadena de porcentaje en un flotante y la agregamos a la listapl
.Tenga en cuenta que también agregamos un
;
al métodorstrip
para eliminar cualquier punto y coma adicional en el atributostyle
. Esto es para manejar casos en los que el atributostyle
tiene propiedades adicionales además delwidth
.