Primero abra un documento de prueba y abrir el analizador con BeautifulSoup:
>>> from BeautifulSoup import BeautifulSoup
>>> doc = '<html><body><div><a href="something">yep</a></div><div><a href="http://www.nhl.com/ice/boxscore.htm?id=3">somelink</a></div><a href="http://www.nhl.com/ice/boxscore.htm?id=7">another</a></body></html>'
>>> soup = BeautifulSoup(doc)
>>> print soup.prettify()
<html>
<body>
<div>
<a href="something">
yep
</a>
</div>
<div>
<a href="http://www.nhl.com/ice/boxscore.htm?id=3">
somelink
</a>
</div>
<a href="http://www.nhl.com/ice/boxscore.htm?id=7">
another
</a>
</body>
</html>
A continuación, podemos buscar todas las <a>
etiquetas con un atributo href
comenzando con http://www.nhl.com/ice/boxscore.htm?id=
. Se puede utilizar una expresión regular para ello:
>>> import re
>>> soup.findAll('a', href=re.compile('^http://www.nhl.com/ice/boxscore.htm\?id='))
[<a href="http://www.nhl.com/ice/boxscore.htm?id=3">somelink</a>, <a href="http://www.nhl.com/ice/boxscore.htm?id=7">another</a>]
Wow gracias. Supongo que la documentación de beautifulsoup presupone fluidez en Regex. Gracias por mostrarme que –
@JenScott Si esto respondió su pregunta, debe aceptarlo. – serk
Bien, pero ¿y si el nombre de su atributo se llama "clase"? – Wajih