2 votes

Essayer de faire un soup.select pour plusieurs cas

Aujourd'hui, ce problème me laisse perplexe.

En fait, j'utilise le code suivant :

    for link in soup.select(".lif__pricing"):
        list_prices.append(link.get_text(strip=True))

pour trouver tous les .lif__princing et en obtenir le prix.

Voici mon problème : j'utilise la liste pour la placer à côté d'une colonne sur les titres liés aux prix, mais parfois les prix ne sont pas listés et à la place ils utilisent un tag .lif__pricing--wrapped et la liste se retrouve en fait 1 ligne derrière la liste des titres.

Pour vous faire mieux comprendre ce que je n'arrive pas à faire, voici le code logique à suivre :

    for link in soup.select(".lif__pricing" and ".lif__pricing--wrapped"):
        list_prices.append(link.get_text(strip=True))

Comment puis-je faire ce code, mais qui ne me donne pas seulement ceux de .lif__pricing--wrapped ...

Merci pour les réponses !

2voto

Andrej Kesely Points 20452

Pour obtenir des étiquettes avec la classe "lif__pricing" et "lif__pricing--wrapped" utiliser :

for link in soup.select(".lif__pricing, .lif__pricing--wrapped"):
    list_prices.append(link.get_text(strip=True))

Pour obtenir des informations sur le mode, vous pouvez utiliser Guide des sélecteurs CSS .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X