J'essaie d'utiliser une belle soupe pour analyser HTML et trouver tout HREF avec une balise d'ancrage spécifique
<a href="http://example.com">TEXT</a>
<a href="http://example.com/link">TEXT</a>
<a href="http://example.com/page">TEXT</a>
tous les liens que je cherche ont le même texte d'ancrage, dans ce cas de texte. Je ne cherche pas le texte du texte, je veux utiliser le texte de texte pour trouver tous les différents href
éditer:
pour plus de clarification à la recherche de quelque chose de similaire à l'utilisation de la classe pour analyser les liens
<a href="http://example.com" class="visible">TEXT</a>
<a href="http://example.com/link" class="visible">TEXT</a>
<a href="http://example.com/page" class="visible">TEXT</a>
puis en utilisant
findAll('a', 'visible')
sauf que le HTML que je suis analysé n'a pas de classe mais toujours le même texte d'ancrage
Est-ce que quelque chose comme ça fonctionne?
In [39]: from bs4 import BeautifulSoup
In [40]: s = """\
....: <a href="http://example.com">TEXT</a>
....: <a href="http://example.com/link">TEXT</a>
....: <a href="http://example.com/page">TEXT</a>
....: <a href="http://dontmatchme.com/page">WRONGTEXT</a>"""
In [41]: soup = BeautifulSoup(s)
In [42]: for link in soup.findAll('a', href=True, text='TEXT'):
....: print link['href']
....:
....:
http://example.com
http://example.com/link
http://example.com/page