Je rencontre un souci intéressant. J'essaye de faire un programme en Python qui parcourt les balises html d'un site (ici vinted). Problème, la balise que j'essaye de parcourir est vide. Je m'explique, en html on peux parfois tombé sur des balises de type "<div class="exemple">" ici le souci que je rencontre est que la balise que je parcours est vide c'est à dire qu'elle est comme ça "<div class="">". Je vous met le code que j'ai réalisé en Python pour le moment.
from bs4 import BeautifulSoup
import httpx
import asyncio
from httpx import Timeout
async def fetch_url(url):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
}
async with httpx.AsyncClient (timeout=Timeout(3.0)) as client:
response = await client.get(url, headers=headers)
return await parse_html(response.text)
async def parse_html(data):
soup = BeautifulSoup(data, 'html.parser')
all = soup.find('div', {'class': 'row u-position-relative content-wrapper-flex'})
vide = all.find('div', {'class': ''})
print(vide)
url = "https://www.vinted.fr/catalog?search_text=&catalog[]=2376&price_from=6¤cy=EUR&price_to=15&brand_ids[]=64910&order=newest_first"
asyncio.run(fetch_url(url))
Vous pouvez directement tester ce programme ou aller dans l'url (pour les balises) mis dedans ce sont des éléments réels. Je vous remercie d'avance et en vous souhaitant de bonne fête
Arf, ça peut être beaucoup de problèmes liés aux diverses dynamiques du site (JavaScript).
Le contenu peut être chargé dynamiquement et donc les données intéressantes, absentes du contenu initial
Perso, j'utiliserai plutôt un module python déjà existant comme PyVinted, vous aurez peut-être plus de réussite ou un framework tel que Selenium avec la complexité du temps d'apprentissage à ne pas négliger.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Ouais bah enfaite mon programme est considéré comme du scrapping et Vinted ne l'autorise pas donc j'allais revenir sur ce poste pour le modifier mais c'est pas la peine puisque je vais effectivement passé par leur api ce qui est plus "éthique" et plus propre, bien que je n'avais aucune mauvaise intention. En tout cas merci pour le module je te souhaite une bonne soirée.
Parcourir une balise html vide
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)