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' 。