要获取 <a> 标签的href 属性,我们需要使用以下语法:
tag['href']
通过使用上述语法,我们将学习如何:
- 获取标签的 href 属性
- 获取多标签的href属性
目录
获取标签的 href 属性
在下面的示例中,我们将使用 find() 函数查找 <a> 标签并使用 [‘href’] 打印 href 属性。
from bs4 import BeautifulSoup # Import BeautifulSoup module
# ? HTML Source
html = '''
<a href="/python/string">Python string</a>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
a_tag = soup.find('a', href=True) # ?️ Find <a> tag that have a href attr
print(a_tag['href']) # ?️ Print href
输出:
/python/string
href=True:具有 href 属性的标签。
获取多标签的href属性
要获取多标签的href,我们需要使用findall()函数查找所有<a>标签,并使用[‘href’]打印href属性。但是,让我们看一个例子。
from bs4 import BeautifulSoup # Import BeautifulSoup module
# ? HTML Source
html = '''
<a href="/python/string">Python string</a>
<div>
<a href="/python/variable">Python variable</a>
<a href="/python/list">Python list</a>
<a href="/python/set">Python set</a>
</div>
'''
soup = BeautifulSoup(html, 'html.parser') # ?️ Parsing
a_tags = soup.find_all('a', href=True) # ?️ Find all <a> tags that have a href attr
# ? Loop over the results
for tag in a_tags:
print(tag['href']) # ?️ Print href
输出:
/python/string
/python/variable
/python/list
/python/set
结论
请记住,当您想要获取标签的任何属性时,请使用以下语法:
tag[attribute name]
您可以访问 beautifulsoup 属性 以了解有关 BeautifulSoup 属性的更多信息。此外,对于更多 BeautifulSoup 主题,向下滚动你会找到它。