BeautifulSoup getting href [duplicate] BeautifulSoup getting href [duplicate] python python

BeautifulSoup getting href [duplicate]


You can use find_all in the following way to find every a element that has an href attribute, and print each one:

from BeautifulSoup import BeautifulSouphtml = '''<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']

The output would be:

Found the URL: some_urlFound the URL: another_url

Note that if you're using an older version of BeautifulSoup (before version 4) the name of this method is findAll. In version 4, BeautifulSoup's method names were changed to be PEP 8 compliant, so you should use find_all instead.


If you want all tags with an href, you can omit the name parameter:

href_tags = soup.find_all(href=True)