20-通过元素的属性获取数据
12.5.3 通过元素的属性获取数据
Tag
对象的 get()
方法让我们很容易从元素中获取属性值。向该方法传入一个属性名称的字符串,它将返回该属性的值。利用example.html,在交互式环境中输入以下代码:
>>> import bs4
>>> soup = bs4.BeautifulSoup(open('example.html'), 'html.parser')
>>> spanElem = soup.select('span')[0]
>>> str(spanElem)
'<span id="author">Al Sweigart</span>'
>>> spanElem.get('id')
'author'
>>> spanElem.get('some_nonexistent_addr') == None
True
>>> spanElem.attrs
{'id': 'author'}
这里,我们使用 select()
来寻找所有 <span>
元素,然后将第一个匹配的元素保存在 spanElem
中。将属性名 'id'
传递给 get()
以返回该属性的值 'author'
。