Ответ 1
Вы можете использовать find_all
следующим образом, чтобы найти каждый элемент a
с атрибутом href
и напечатать каждый из них:
from BeautifulSoup import BeautifulSoup
html = '''<a href="some_url">next</a>
<span class="class"><a href="another_url">later</a></span>'''
soup = BeautifulSoup(html)
for a in soup.find_all('a', href=True):
print "Found the URL:", a['href']
Вывод будет:
Found the URL: some_url
Found the URL: another_url
Обратите внимание, что если вы используете более старую версию BeautifulSoup (до версии 4), имя этого метода равно findAll
. В версии 4 имена методов BeautifulSoup были изменены для соответствия PEP 8, поэтому вместо этого следует использовать find_all
.
Если вам нужны все теги с href
, вы можете опустить параметр name
:
href_tags = soup.find_all(href=True)