je faisais quelque chose comme ceci en utilisant BeautifulSoup:Filtrage en classe spécifique dans BeautifulSoup
for name in soup.find_all('div','name'):
Quand je suis en utilisant ce filtre, je crois comprendre que je vais obtenir toutes les div
étiquettes avec le nom d'attribut ou classe name
.
Cependant, je ne veux pas toutes les instances de la balise div
avec l'attribut name
. Je veux certaines instances dans lesquelles ils se situent dans un certain sous-arbre du fichier HTML. Plus précisément, les instances dans l'étiquette <u1 class="list-box mb-3 spacer">...<u1\>
, qui est deux niveaux au-dessus des étiquettes que je cherche. Donc ma question est, comment pourrais-je écrire le filtre dans soup.find_all()
pour zoomer dans une classe? Je m'excuse d'avance si j'avais mélangé toute terminologie. C'est la première fois que je tente de gratter sur le Web. Je ne savais pas quoi regarder dans la documentation.
Pour référence, c'est le site que je tente de faire gratter web sur: http://pd.appbank.net/ml39
Serais-je capable de faire quelque chose de similaire si je voulais filtrer les parents qui ont des enfants avec certaines chaînes de correspondance? En ce moment, je regarde une page avec plusieurs parents "spacer mb-5", et tous ont un enfant "title-border mb-3", mais je veux seulement extraire des informations d'un parent qui correspond à un certain chaîne. SoupStrainer aiderait-il ici? –
@Psignarok Possiblement. Vous auriez à faire un 'if tag.find (...):' (quelque chose dans ce sens). –