Use attrs :
links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link.attrs['href'] for link in links]
or get attributes directly from an element, treating it like a dictionary:
links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link['href'] for link in links]
DEMO:
from bs4 import BeautifulSoup
page = """<body>
<a href="link1">text1</a>
<a href="link2">text2</a>
<a href="link3">text3</a>
<a href="link4">text4</a>
</body>"""
soup = BeautifulSoup(page)
links = soup.body.find_all('a')
print [link.attrs['href'] for link in links]
prints
['link1', 'link2', 'link3', 'link4']
Hope this helps.
source
share